Войти
ПрограммированиеФорумФизика

Оцените движок (2 стр)

Страницы: 1 2
#15
1:44, 1 апр. 2007

hometown1988
да, демка действительно стресс =) фпс около пяти, но физика ведет себя вполне достойно для такой громадины, время правда из-за тайм степа резко замедляется, но это неважно. можешь показать демки для демонстрации КД? чтобы в каждой точке контакта что-нибудь рисовалось + хардкорные случаи(тримеши пересекаются). очень интересно


#16
8:59, 1 апр. 2007

hometown1988
>В ЛЦП нахожу импульсы для тел.gexogen, если ты знаешь другой метод импульсов - раскажи, или дай ссылку.
применять импульс в каждой точке контакта, причем только если он положительный циклом по всем точкам контактов
и итерациям.
усовершенствование - последовательные импульсы(SI) разрешить применение отрицательных импульсов но
следить за тем чтобы общий импульс оставался неотрицательным(иначе тела будут прилипать друг к другу).
есть еще методы - Nonconvex rigid bodies with stacking(Guendelman et al), как продолжение - Constraint-based collision and contact handling using
impulses(Jan Bender). (на немного упрощенном варианте последнего основан мой физдвиг - http://www.gamedev.ru/code/forum/?id=59325)
Опять же приходиться давать ссылку на gphysics.com (смотреть презентации GDC06, 07) - обьяснение SI с warmstarting.
warmstarting - за полным обьяснением можешь обратиться к Iterative Dynamics with Temporal Coherence (Erin Catto),
- там как раз показано как использовать warmstarting, делая lambda caching - то есть сохраняешь свои lambda, а на след.кадре
ишеш одинаковые точки контактов и если находишь то initial guess солвера устанавливаешь в найденную lambda(можешь еще домножить ее
на какую-то заданную величину-коэффициент [0;1]).

ФПС в демке очень маленький(на глаз) и кубики разьезжаются :(

#17
12:52, 1 апр. 2007

gexogen
Сейчас я применяю именно такой метод:
применять импульс в каждой точке контакта, причем только если он положительный циклом по всем точкам контактов
и итерациям.
Пытаюсь решать ЛЦП, но пока не получается, возникают ошибки когда процесс становится расходящимся.
Пробовал в методе импульсов использовать значения с прошлых итераций, но система становится очень нестабильная(даже больше чем сейчас :)  ). Скачал твой движок, только не могу запустить (ни первый, ни след 3 демки).
Какой метод колижина использовал?
Suslik
новых демок неделю где-то не будет. В движке есть только пересечение со статичным тримешем, между двумя ещё не делал.

#18
13:29, 1 апр. 2007

hometown1988
ну я дал ссылку - классический только положительный импульс страдает от недостатка стабильности поэтому все дрожит и разьезжается.
>только не могу запустить (ни первый, ни след 3 демки).
У тебя MSVS 2005 стоит? Что говорит при запуске? И желательно конфигурацию компа напиши.
Может ДЛЛок типа msvcr80.dll нету?
>Какой метод колижина использовал?
OBB-OBB с помощью обычного SAT.
Но главное же не коллижн - главное это солвер.
>Пробовал в методе импульсов использовать значения с прошлых итераций, но система становится очень нестабильная(даже больше чем сейчас :)
Видимо что-то не так имплементировал.
Вообще то расчет на SI + warmstarting.(gphysics.com)

#19
14:05, 1 апр. 2007

gexogen
Скачал с gphysics.com две презентации 2006 и 2007 по методу импульсов.
У меня MSVS C++ 6.0. Конфигурация: АтлонХР 1.9 ЖеФорс6600 768ОЗУ ВиндоузХР Сервис Пак2
Про аналогичные ошибки читал на твоём форуме : Приложение не может быть запущено, поскольку оно некоректно настроено. Повторная установка приложения может решить данную проблему.
Сейчас буду пробовать на двухмерном движе всё что прочитал. Вобще метод импульсов использовал с самого начала, сейчас стал разрабатывать такую идею:
-для контакта двух тел строим ЛЦП(на несколько точек)
-решаем систему
-делаем єто до тех пор пока не решится глобальная система
+систему не надо обновлять для каждой итерации метода, тольк скорости-как у метода импульсов,
-однако надо делать больше расчётов на одной итерации
Сейчас на 2Д демке работает даже быстрее чем метод импульсов. Сейчас прикручу всё новое к обычному импульсному способу, потом попробую к модифифицрованому(хотя этот способ очень тормозит в 3д демке).

Страницы: 1 2
ПрограммированиеФорумФизика

Тема в архиве.