Основы Unity: типы контроллеров
Каждый подходит для определённого типа геймплея.
Автор YouTube-канала I Heart Gamedev Никки Боккуцци опубликовал видео, в котором рассказал о разных контроллерах в Unity. Контроллер персонажей отвечает за обработку любых столкновений с объектами, а также определяет, какие физические законы применяются к герою. Мы выбрали из видео главное.
В Unity есть базовые контроллеры персонажей: built-in и rigidbody. У каждого есть свои особенности, которые влияют на поведение в игре и взаимодействие с другими объектами. Также можно сделать кастомный контроллер, который будет работать именно так, как нужно разработчику.
В этом примере у персонажа есть несколько базовых анимаций: стояние, ходьба, бег. Также есть скрипт, позволяющий делать переходы между этими анимациями. Модель персонажа взята у YouTube-канала Mix and Jam.
Контроллер персонажа — это компонент, который позволяет объекту двигаться и взаимодействовать с коллайдерами. Именно контроллер отвечает, например, за передвижение по ступенькам, столкновение со стенами, попадание проджектайлов.
Built-in контроллер по умолчанию присутствует в движке: он позволяет персонажу подниматься по ступеням, забираться по склону, ходить по неровным поверхностям и врезаться в стены. Вероятно, этот контроллер — самый простой и быстрый способ добавить передвижение в игру.
Другой контроллер — rigidbody: позволяет объектам взаимодействовать друг с другом по законам физики в реальном времени. Это значит, что на объекты будут оказывать влияние такие факторы как: гравитация, масса, инерция, лобовое сопротивление.
У rigidbody-контроллера есть две версии, у каждой из которых есть свои особенности: kinematic и dynamic. На dynamic оказывают влияние другие физические объекты. Например, если в персонажа попадёт предмет, то его отбросит как и любой другой объект. А с kinematic-объектами такого не происходит — персонаж будет продолжать стоять, даже если в него влетит гигантский куб.
Built-in контроллеры позволяют персонажу подниматься по ступенькам или по наклонной поверхности. При этом он не будет съезжать вниз, если окажется на крутом склоне. У dynamic-объектов почти всё наоборот: они не умеют подниматься по ступенькам, но при этом съезжают на крутом склоне. Единственное, что их объединяет с предыдущим типом контроллера — они тоже могут подниматься по пологой поверхности.
Каждый контроллер подходит для своего типа геймплея. Например, в серии Pokemon нет физического взаимодействия между объектами, поэтому играм такого типа подойдёт built-in контроллер. В Fall Guys всё наоборот — физика имеет огромное значение для геймплея, поэтому в такой игре лучше использовать dynamic-объекты.