Вопрос как сделать возможность перемещения по всем плоскостям, полу, стенам, потолку?
За пример реальной физической модели можно взять таракана ;) который может ползать где угодно ;D
Еще интересует создание гравитации на малых формах. Хороший, правда не реальный пример ::)
в 3D-мультике "Охотники на драконов" где много микро-планет по которым персонажи передвигаются(см. скрин).
Я так понимаю делать надо при помощи "физики", ну не вертеть же мне всю геометрию :-\
Кто знает, посоветуйте как можно решить данную задачу.
.
я далек от этого дела но вот что нашол может хоть на мысли натолкнет на какие
PhysXforQuest Features: (http://www.physxforquest.com/Features.aspx)
поищу что нить на оф форуме мож наткнусь на чтонибуть похожее
допустим гравитация идет по оси y может быть нужно сделать так чтобы при столкновении с новым обьектом(если обьек один то разбить его на части там где он может переходить с одной плоскости на другую(а те части в которые он должен упираться не отделять) ось y менялась например на z
см.рис.
ниже сценка для ковыряния
только с круглыми обьектами будет все намного сложней
Как правило гравитация задаеться вектором, если его вовремы выставлять под стать стенам и потолку то все будет ок, можно и ОДЕ или Ньютон юзать.
Да думаю это проще всего - сделай вектор гравитации динамическим, помоему ограничений на это никаких нет.
А если привязать вектор гравитации тупо к объекту.
Незнаю как в ньютон и оде, но на друг движках, у меня работало.
P.s. только нужно сделать, чтобы твой таракан все же сам поворачивался при столкновении со стеной, допустим посредством обычной анимации ;) ;) ;) ;)
При изменении вектора гравитации, она все также будет действовать на все физические объекты в сцене. В Ньютоне, можно отключить автоматическое обновление физики(Newton Command -> Disable Auto-update), и делать это вручную, с помощью команды(Newton Command -> Update).
Но это все равно не решает проблемы, потому, что гравитация подействует глобально, на все объекты в сцене.
сомневась что таракану придется прыгать)) тогда можно что нибудь придумать, что бы таракан, как бы прилипал к поверхностям, что то типо пути по поверхности))
делайте 2 вектора один глобальный(нормальный) 2й для таракана лично с увеличеным в разы значением чтобы мог по потолку лазить + трение при контакте с стенами дабы уменшыть влияние основного вектора гравитацыи
в ODE доходило до смешного с трением если сильно завысить значение то можно по стенам без всяких доп. усилий лазить правда в разы медленней за потолок не знаю не доводилось тестить перешол на Newton
Верно, так будет работать!
Set Force (vector)
только, как уже говорили выше, нужно будет решить вопрос с правильной ориентацией таракана в пространстве, чтрбы он спиной или опай не приклеивался к стенкам ;D