Unreal Engine 4: Урон, реген доспехов — гайд

Добавление системы урона и регенерации

Добавим объект, при взаимодействии с которым будут уменьшаться полоски здоровья (красный прогресс-бар) и доспехов (синий прогресс-бар). Сначала будет уменьшаться синий прогресс-бар (доспехи). Когда он достигнет нуля, начнет уменьшаться красный (здоровье). При выходе из зоны поражения будет восстанавливаться только синий прогресс-бар (доспехи), красный останется на том же уровне.

Реализация в Unreal Engine 4

  1. Blueprint персонажа. Дважды кликните на актере игрока, чтобы открыть его Blueprint.
  2. Event Tick и Sequence. В графическом редакторе Blueprint добавьте событие Event Tick (вызывается каждый кадр) и блок Sequence (для последовательного выполнения действий).
  3. Задержка. В Sequence добавьте блок Delay с задержкой 1 секунду, чтобы предотвратить слишком частую проверку условий.
  4. Условный оператор (Branch). После Delay добавьте условный оператор Branch. Он проверяет условие и выполняет разные действия в зависимости от результата.
  5. Проверка уровня доспехов и регенерация. Условие в Branch: Armor < 1. Если уровень доспехов (Armor) меньше 1, выполняется действие по восстановлению доспехов: Set Armor Armor + 0.01. Это увеличивает уровень доспехов на 0.01 каждую секунду.
  6. Функция нанесения урона (Damage_5). Создайте функцию Function с именем Damage_5. Она будет вызывать отнимание 5% от уровня доспехов.
  7. Логика нанесения урона. В функции Damage_5:

    • Set Armor Armor — 0.05. Уменьшение уровня доспехов на 5%.
    • Проверка на истощение доспехов. Добавьте Branch с условием: Armor < 0. Если доспехи меньше 0, отнимите здоровье: Set Health Health + Armor. Добавление отрицательного значения к здоровью уменьшает его.
    • Set Armor 0. Установка уровня доспехов в 0, чтобы предотвратить отрицательные значения.
  8. Объект, наносящий урон (Pain). Создайте новый Blueprint Actor, назовите его Pain. Добавьте компонент Box Collision. Он будет отслеживать столкновение игрока с объектом. Измените размер Box Collision для корректной работы.
  9. Функциональность в Blueprint объекта Pain. В Blueprint актера Pain добавьте события Event Begin Overlap (при попадании в коллайдер) и Event End Overlap (при выходе из коллайдера).
  10. Обработка Event Begin Overlap. В Event Begin Overlap:

    • Вызовите функцию Damage_5 Blueprint’а игрока.
    • Создайте булеву переменную IsInBox и установите её в true.
  11. Обработка Event End Overlap. В Event End Overlap: установите переменную IsInBox в false.
  12. Проверка IsInBox в Damage_5. В Damage_5 добавьте Branch, проверяющий значение IsInBox. Если IsInBox равно true, вызовите Delay на 0.5 секунды, а затем снова вызовите Damage_5. Это создает непрерывный урон, пока игрок находится в зоне поражения.

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

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