Unreal Engine 4: Стрельба из оружия — создание системы выстрелов

Создание функционала стрельбы в игре с использованием Unreal Engine 4. Будет создан новый класс для патрона и реализована механика выстрела.

Создание класса патрона

Создайте новый Blueprint класс типа «Актёр», например, Projectile, в той же папке, где расположены другие игровые объекты. Вместо сложной модели, используйте простой статический меш (Static Mesh), например, Capsule с изменённым размером до 0.3.

Добавьте компонент Projectile Movement и настройте его параметры:

  • Инициальная скорость: 3000 единиц.
  • Максимальная скорость: 3500 единиц.
  • Масштаб гравитации: 0.5.

Сохраните изменения.

Реализация логики выстрела

В Blueprint классе оружия создайте событие Fire. Внутри этого события используйте функцию Spawn Actor From Class для создания экземпляра класса Projectile. Для определения точки спауна, добавьте сокет Fireplace в скелетной сетке оружия, разместив его в конце дула. В Blueprint классе оружия, используйте функцию Get Socket Transform для получения трансформации сокета Fireplace и определения точки спауна патрона.

Настройка ввода

В настройках проекта (Project Settings -> Engine -> Input) создайте действие Fire и свяжите его с нажатием правой кнопки мыши (или другой клавиши).

Связывание событий и тестирование

В Blueprint классе персонажа добавьте переменную типа оружия. В событии Input (например, связанном с клавишей F), вызовите событие Fire объекта оружия через эту переменную.

Для отладки, установите размер отрисовки патрона (например, в компоненте Projectile Movement) на значение 200. Запустите игру и протестируйте стрельбу. При необходимости, скорректируйте вращение меша патрона и сокета Fireplace, а также скорость патрона в компоненте Projectile Movement.

Что будем искать? Например,программа