Я новичок в UE4 и пытаюсь понять некоторые базовые концепции управления пешкой персонажа. Я пытаюсь реализовать логику движения персонажа. Я собираюсь использовать базовый WASD для перемещения персонажа вперед, назад, из стороны в сторону - как почти во всех основных шутерах от первого лица. Я также хочу, чтобы ввод с помощью мыши вращал символ.
У меня есть свои собственные классы PlayerController
и Character
.
Добавление кода для перемещения символа - вперед, назад, вбок - кажется, все идет в самом классе символов. Там есть метод с именем AddMovementInput, который, кажется, изменяет позицию для меня. Это также заставляет меня думать, что класс персонажа «владеет» своим собственным местоположением. Это имеет смысл, потому что одновременно может быть несколько классов персонажей, каждый в разных местах, верно?
Добавление кода для поворота символа имеет аналогичные методы управления поворотом - AddControllerYawInput
, AddControllerPitchInput
, AddControllerRollInput
. Простой просмотр названий функций позволяет предположить, что подача и поворот рыскания «принадлежат» контроллеру игрока. Глядя на документы и комментарии к функциям, мы еще раз подтверждаем: «Добавить входные данные (влияющие на Yaw) в ControlRotation контроллера, если он является локальным PlayerController.» Так что, мне кажется, что pitch and roll - значения, «принадлежащие» контроллеру игрока, верно?
Как начинающий, это меня смущает. Я просто смущен тем фактом, что местоположение хранится в самом персонаже, но вращение, похоже, не выполняется?
Может ли кто-нибудь помочь мне разобраться с этим и объяснить, как я должен «думать» о движении персонажа или пешки? Мне просто неясно, и это как бы заставляет меня зацикливаться на этой теме.