Физика для игрФорум

Super-elasticity problem

#0
10:57, 19 сен 2006

После долгой работы над системой связанных частиц добрался до проблемы супер-эластичности. Вот демки с попыткой устранить данный глюк и без:

http://www.gamedev.ru/download/?id=4263

Документации по этому странному явлению очень мало, на форумах никто ничего не знает, поэтому пишу сюда.
Кто как решал проблему? Есть идеи?

#1
19:07, 20 сен 2006

а опиши ка поподробнее в чем заключается проблемя - я с такой не сталкивался пока

#2
9:07, 21 сен 2006

Проблема вроде и простая, но побороть ее не удается. Например, есть такая система:
*
|
*

Две частицы, связанные пружиной. Система падает и при ударе о землю или другую частицу необходимо изменить позицию нижней частицы. При изменении позиции изменяется длина пружины. После обновления пружины верхняя частица получает паразитное ускорение. Таким образом происходит цепная реакция и вся система получает ускорение.

Проблема отлично видна в демке:
Если запустить gmorph_se и толкнуть коробки, то при ударе они прыгают как попрыгунчик.
В gmorph_se_hack прыгают тоже, но не так сильно

Решить можно несколькими способами:
-если изменение длины пружины больше некоторого значения, уменьшить скорость частиц (плохо работает)

-для каждой частицы хранить вектор - расстояние, на которое переместилась частица для разрешения контакта, при обновлении пружин добавлять это смещение к ближним частицам (в демке gmorph_se_hack так сделано)

#3
22:55, 21 сен 2006

проблема подхода физики на ограниченных частицах
если её решать то тут придется обрабатывать как частный случай, я говорил
тут нужно знать какой метод интегрирования ты юзаешь да и вообще как ты организовал свой двигл потому как для интегрирования верлета эту проблему нада решать совершенно особенным способом чем другими методами не хакающими скорость

#4
15:41, 23 сен 2006

Интегратор Верлета, пружины на 100% восстанавливают позицию при изменении длины, считаются два раза. По идее пружины надо считать не отдельно, а как единую систему.

#5
14:37, 30 сен 2006

Совершенно особенный способ - какой? Если есть практические идеи, предлагайте. Неужели никому не интересно?

Физика для игрФорум

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