Гравитация в Unity

Гравитация в Unity

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

В Unity для управления персонажем создан специальный упрощенный контроллер Character Controller, который представляет собой капсулу с заданной высотой и радиусом. Эта капсула позволяет персонажу перемещаться в пространстве, отслеживая столкновения с другими объектами, к которым присоединен какой-либо Collider. Благодаря этому наш персонаж не проваливается в стены и под пол. Но вся проблема в том, что о гравитации в данном случае приходится заботиться самому, т.к. Character Controller ничего о ней не знает. На то он и упрощенный компонент.

Давайте разберемся, как же лучше реализовать гравитацию в Unity для нашего персонажа.


( Читать дальше )