В любом шутере игрок может не только бегать и стрелять, но и прицеливаться. В этом уроке мы добавим игроку возможность прицеливания.
Добавление камеры прицеливания
Для реализации прицеливания необходимо добавить вторую камеру, которая будет располагаться рядом с оружием, создавая эффект прицеливания. В играх обычно используется несколько камер для разных видов отображения.
Добавим скелет оружия (например, АК-47), так как размещение камеры без него затруднительно.
Добавление скелета оружия
Добавим новый компонент, назвав его Skeleton. Перетащим этот компонент на персонажа и, используя Sockets, выберем нужный сокет для крепления оружия к руке (например, Socket_AK47_OnGun). Расположение сокета зависит от модели оружия. Разместим скелет приблизительно в нужном месте. Идеальное позиционирование не критично, так как при прицеливании сам скелет не будет виден. Чтобы скрыть оружие в игре (генерируемое через скрипт), в настройках Rendering установим Hidden in Game в значение True.
Добавление и настройка камеры прицеливания
Добавим компонент — камеру, назвав её GunCamera. Она должна быть дочерним объектом скелета оружия. Установим для камеры Socket — Fireplace (или аналогичный, расположенный приблизительно на конце ствола). Подкорректируем позицию, вращение и масштаб камеры для корректного отображения. Разместим камеру так, чтобы она смотрела на прицел. В настройках камеры, в параметре Active, установим значение False, чтобы камера не включалась автоматически.
Настройка управления прицеливанием
Откроем Edit -> Project Settings. В разделе Engine -> Input добавим действие (Action), назвав его Прицел. В качестве клавиши прицеливания можно использовать правую кнопку мыши (Right Mouse Button) или другую клавишу (например, G).
Реализация логики прицеливания в Blueprint
В Blueprint персонажа реализуем отслеживание нажатия кнопки «Прицел». При нажатии:
- Деактивируем основную камеру (MainCamera).
- Активируем камеру прицеливания (GunCamera).
При отпускании:
- Деактивируем камеру прицеливания (GunCamera).
- Активируем основную камеру (MainCamera).
Подкорректируем позицию камеры в Viewport для оптимального вида. Запустим игру и протестируем. При необходимости подкорректируем положение и вращение оружия и камеры в редакторе.
В этом уроке мы добавили в игру возможность прицеливания, используя дополнительные камеры и настроив управление в Blueprint. Теперь игрок может эффективно прицеливаться и стрелять.