• Добро пожаловать на Quest3D - Русскоязычное сообщество.
 

Гравитация, физика - "симулятор таракана"

Автор KBECT0MAH, 18 апреля 2009, 13:58:31

« назад - далее »

KBECT0MAH

Вопрос как сделать возможность перемещения по всем плоскостям, полу, стенам, потолку?
За пример реальной физической модели можно взять таракана  ;) который может ползать где угодно  ;D

Еще интересует создание гравитации на малых формах. Хороший, правда не реальный пример ::)
в 3D-мультике "Охотники на драконов" где много микро-планет по которым персонажи передвигаются(см. скрин).

Я так понимаю делать надо при помощи "физики", ну не вертеть же мне всю геометрию  :-\
Кто знает, посоветуйте как можно решить данную задачу.
.

Den_ya

я далек от этого дела но вот что нашол может хоть на мысли натолкнет на какие

PhysXforQuest Features:

поищу что нить на оф форуме мож наткнусь на чтонибуть похожее

Den_ya

#2
допустим гравитация идет по оси y может быть нужно сделать так чтобы при столкновении с новым обьектом(если обьек один то разбить его на части там где он может переходить с одной плоскости на другую(а те части в которые он должен упираться не отделять) ось y менялась например на z
см.рис.
ниже сценка для ковыряния

только с круглыми обьектами будет все намного сложней

Viik

#3
Как правило гравитация задаеться вектором, если его вовремы выставлять под стать стенам и потолку то все будет ок, можно и ОДЕ или Ньютон юзать.

Да думаю это проще всего - сделай вектор гравитации динамическим, помоему ограничений на это никаких нет.

neko2or

А если привязать вектор гравитации тупо к объекту.
Незнаю как в ньютон и оде, но на друг движках, у меня работало.
P.s. только нужно сделать, чтобы твой таракан все же сам поворачивался при столкновении со стеной, допустим посредством обычной анимации ;) ;) ;) ;)

Ruslan

#5
При изменении вектора гравитации, она все также будет действовать на все физические объекты в сцене. В Ньютоне, можно отключить автоматическое обновление физики(Newton Command -> Disable Auto-update), и делать это вручную, с помощью команды(Newton Command -> Update).
Но это все равно не решает проблемы, потому, что гравитация подействует глобально, на все объекты в сцене.

neko2or

сомневась что таракану придется прыгать)) тогда можно что нибудь придумать, что бы таракан, как бы прилипал к поверхностям, что то типо пути по поверхности))

Cludz

делайте 2 вектора один глобальный(нормальный) 2й для таракана лично с увеличеным в разы значением чтобы мог по потолку лазить + трение при контакте с стенами дабы уменшыть влияние основного вектора гравитацыи
в ODE доходило до смешного с трением если сильно завысить значение то можно по стенам без всяких доп. усилий лазить правда в разы медленней за потолок не знаю не доводилось тестить перешол на Newton
Skype "Cludz159"

Ruslan

#8
Верно, так будет работать!
Set Force (vector)
только, как уже говорили выше, нужно будет решить вопрос с правильной ориентацией таракана в пространстве, чтрбы он спиной или опай не приклеивался к стенкам  ;D