Pull to refresh
-11
@sakurasunread⁠-⁠only

Русский Военный Корабль

Send message

Как работает симуляция физики в играх на примере Bullet Physics

Reading time4 min
Views47K


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

И если с Nvidia Physix (привет Unity3D) ничего не поделаешь кроме пары параметров, то Bullet Physics и Box2D доступны в исходных кодах, и от безысходности начинаешь разбираться с тем как что устроено и работает.

Разобраться с тем, как все работает очень полезно. Все игровые физические движки очень похожи. Они все impulse base, что означает то, что в каждый фрейм симуляции все (силы) переводяться в импульсы, импульсы складываются, делятся на массу и прибавляются к скоростям (линейной и вращaтельной) объекта, скорость же определяет насколько объект сдвинется в текущем фрейме симуляции.

И тут встает вопрос, если все так просто, как получается, что можно выложить в столбик кубики и они себе спокойно стоят и не разлетаются?

Я покажу, что за всю эту магию отвечает маленький кусочек кода!
Читать дальше →

Information

Rating
Does not participate
Registered
Activity