Как работает физика в играх 🤔



Основа работы игровой физики, как и игры в целом, является дискретность, то есть разбиение по кадрам. В случае с графикой мы стремимся как можно чаще рисовать кадр, чтобы игра была более плавной. Но в случае с физикой обычно стремятся к фиксированному времени кадра, в угоду стабильности. Обычно обновление физического мира происходит 60 раз в секунду.



На кадре происходит расчет взаимодействия объектов, а затем до следующего кадра все двигается так, как будто нет никаких препятствий.



Уже из этого ограничения вытекают проблемы. Кажется что 1/60 секунды - это довольно маленькое время (17 миллисекунд, если быть точным), однако в мире физики может случиться многое. Например, пуля, летящая сквозь тонкую стенку. Один кадр она с одной стороны стенки, а следующий кадр уже с другой. С точки зрения дискретной физики между ними не было контакта и пуля летит дальше.



Справедливости ради обычно пули так в играх не делают, применяют трассировку луча. Или используют другие подходы в обнаружении столкновений (об этом позже).



Однако это фундаментальное ограничение игровой физики, которое ограничивает точность работы. Нельзя ожидать что физика в играх будет точно такой же как в реальной жизни, и дискретность - это ключевое ограничение.



Для симуляции используются 2 основных подхода, применяющиеся на практике: это физика твердых и мягких тел. Разберем каждый из них.



🔜 Читать подробнее



👉 @GameDevgx | #cтатья