Как работает физика в играх
Основа работы игровой физики, как и игры в целом, является дискретность, то есть разбиение по кадрам. В случае с графикой мы стремимся как можно чаще рисовать кадр, чтобы игра была более плавной. Но в случае с физикой обычно стремятся к фиксированному времени кадра, в угоду стабильности. Обычно обновление физического мира происходит 60 раз в секунду.
На кадре происходит расчет взаимодействия объектов, а затем до следующего кадра все двигается так, как будто нет никаких препятствий.
Уже из этого ограничения вытекают проблемы. Кажется что 1/60 секунды - это довольно маленькое время (17 миллисекунд, если быть точным), однако в мире физики может случиться многое. Например, пуля, летящая сквозь тонкую стенку. Один кадр она с одной стороны стенки, а следующий кадр уже с другой. С точки зрения дискретной физики между ними не было контакта и пуля летит дальше.
Справедливости ради обычно пули так в играх не делают, применяют трассировку луча. Или используют другие подходы в обнаружении столкновений (об этом позже).
Однако это фундаментальное ограничение игровой физики, которое ограничивает точность работы. Нельзя ожидать что физика в играх будет точно такой же как в реальной жизни, и дискретность - это ключевое ограничение.
Для симуляции используются 2 основных подхода, применяющиеся на практике: это физика твердых и мягких тел. Разберем каждый из них.
https://habr.com/ru/articles/801479/
#gamedev
👉 @game_devv
Post #1770
1.9K
- 👍 18
- 🔥 5
- ❤ 2