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

Проблема с физикой в slow motion режиме.

#0
17:03, 29 окт 2022


Привет!

В общем все скорости в моем физ-движке помнажаются на коэфициэнт времени. Все работает хорошо. Но стоит коэфициэнт времени сделать совсем маленьким ( меньше 0.1 ) как появляются физические баги. Если одно тело лежит на другом, оно резко смещается по его левому краю и падает рядом с ним.

В чем может быть дело? Куда копать?

#1
19:08, 29 окт 2022

Напрашивается критическая потеря точности float при слишком мелком тике времени. Допустим, у тебя 200 FPS, и еще и коэффициент 0.1 - это уже тик в 0.0005с. А часто еще физ движки дробят тик, например, на 10 частей, это уже 0.00005с. Как исправить? Если это не критично, можно квантовать мельчайший (после дробления) тик до какой-то минимальной величины.

#2
22:48, 29 окт 2022

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

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

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