Спроектирована для решения следующих задач:
Система передвижения персонажа позволяет создать контроллер, работающий на основе физического движка Unity, благодаря чему он будет корректно взаимодействовать с другими физическими объектами. В то же время система имеет набор настроек, позволяющих сделать движение персонажа более предсказуемым и детерминированным с точки зрения игрока, что в сочетании с поддержкой built-in физики позволяет выстроить баланс между отзывчивостью в управлении и взаимодействием с окружением.
Система состоит из нескольких уровней абстракции, которые изображены на общей схеме взаимодействия компонентов:
Обязательным уровнем в данной системе является Physics level. Остальные уровни предназначены для конструирования составного поведения передвижения персонажа, поэтому их использование целесообразно в проектах со сложной movement-логикой.
Данный уровень является фундаментом системы. На нём происходят вычисления трёх основных составляющих передвижения персонажа:
Компонент CharacterRigidbodyPhysics является основным компонентом Physics level и отвечает за: