Создание функционала стрельбы в игре с использованием 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.