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

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

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

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

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