<aside> 📌 Этот воркфлоу описывает процесс интеграции и настройки компонента вашего кастомного UShootingComponent в ваш класс от начала до конца.

</aside>

ШАГ 1: Инициализация и настройка компонента


<aside> ⚠️ Назначение ShootingComponent компонент, отвечающий за логику стрельбы в игровом мире. Он позволяет акторам (например, персонажам, оружию) генерировать выстрелы, управлять ими и обрабатывать их последствия.

</aside>

<aside> ✏️ Реализация

  1. Создайте новый класс, наследуемый от UShootingComponent (например, UMyShootingComponent).
  2. Добавьте свои необходимые свойства, функции, делегаты.
  3. Переопределите виртуальные функции для определения своего кастомного поведения:
  4. Для сброса состояния активной стрельбы используйте FinishFire(). </aside>

<aside> ❗ Важные моменты

</aside>

ШАГ 2: Создание актора-стрелка (пример).


<aside> Создайте новый Blueprint Actor

<aside>

Добавление компонента ShootingComponent

<aside>

Настройте свойства компонента

<aside>

Добавьте визуальное представление

<aside>

</aside>

ШАГ 3: Управление стрельбой.


<aside> 🔥

Запуск стрельбы  Запуск стрельбы активируется с помощью функции StartFire(), функция автоматически проверяет условия для стрельбы, и если они соответсвуют то запускает дальнейший процесс воспроизведения выстрела.

</aside>

<aside> 🎯

Обработка результата выстрела  Вы можете обработать результат попадания выстрела несколькими способами, первый способ подходит как для типа стрельбы лайнтрейсом и проджектайлом, это подписатся на делегат OnTargetHit() компонента, и второй способ использовать тоже делегат либо евент OnFire() в котором через функцию GetLastHitResult() можно получить последний результат трасировки, метод больше подходит только для типа стрельбы лайнтрейсом.

</aside>


<aside>

Медиа

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image_2025-11-19_16-51-58.png

</aside>

image.png

<aside> ❗ Следуя этим шагам, вы сможете создавать и настраивать логику стрельбы для любого актора-стрелка отвечающему вашим запросам.

</aside>