Функции Actor Has Tag и Component Has Tag в Unreal Engine

Друзья, приветствую, с Вами Будуев Антон. В данной статье мы рассмотрим очередные Blueprint-функции игрового движка Unreal Engine (UE4, UE5) — Actor Has Tag и Component Has Tag.

Вскоре выйдет моя бесплатная книга по Blueprints для Unreal Engine в PDF формате. Как она выйдет, рекомендую её скачать, чтобы Вы детально изучили блюпринты Анрил Энджин.

Actor Has Tag

Функция Actor Has TagВ Unreal Engine функция Actor Has Tag используется для проверки, присвоен ли определённый тег проверяемому объекту Actor. Функция принимает в качестве параметра имя тега и возвращает булево значение True, если указанный тег имеется в наличие у Actor, и значение False в противном случае. Это позволяет выполнять определённую логику в зависимости от наличия или отсутствия у Actor определенного тега.

Параметры:

  • Target (Actor, по умолчанию Self) — Актор, который нужно проверить на наличие тега.
  • Tag (name, по умолчанию None) — имя тега. Внимание! У имени тега нет чувствительности к регистру, к примеру, теги «Enemy» и «enemy» абсолютно равнозначны, это один и тот же тег.
  • Return Value (bool, возвращаемый параметр) — возвращает значение True, если тег найден. В противном случае — False.

Теги — это простой и удобный способ в Анрил Энджин идентифицировать и группировать Actor по категориям, не полагаясь на имя или класс. Используются они для группировки объектов, фильтрации и управления логикой в игре.

Например, чтобы разделить объекты различных персонажей на 2 группы — союзники и враги, Акторам союзников можно присвоить тег «allies», а врагам — «enemy». А затем уже при реализации логики, к примеру, урона от применения оружия, если снаряд попал в персонажа, проверить у Actor это персонажа наличие тега «enemy», если такой тег есть, то нанести урон врагу.

Если Actor Has Tag возвращает True, наносим урон врагу
Если Actor Has Tag возвращает True, наносим урон врагу

Сами теги в Акторах добавляются во вкладке Details в меню Actor / Advanced / Tags. Тегов можно добавить любое количество, так как они хранятся в качестве массива.

Теги в Акторах добавляются во вкладке Details в меню Actor / Advanced / Tags
Теги в Акторах добавляются во вкладке Details в меню Actor / Advanced / Tags

Component Has Tag

Функция Component Has TagФункция Component Has Tag служит для проверки наличия определённого тега у компонента. Функция принимает в качестве параметра имя тега и возвращает булево значение True, если указанный тег присвоен проверяемому компоненту, а также значение False в противном случае. Это позволяет выполнять определённую логику в зависимости от наличия или отсутствия у компонента определенного тега.

Параметры:

  • Target (Actor component, по умолчанию Self) — компонент, который нужно проверить на наличие тега.
  • Tag (name, по умолчанию None) — имя тега. Внимание! У имени тега нет чувствительности к регистру, к примеру, теги «Head» и «head» абсолютно равнозначны, это один и тот же тег.
  • Return Value (bool, возвращаемый параметр) — возвращает значение True, если тег найден. В противном случае — False.

В целом, функция Component Has Tag полностью схожа с ActorHasTag, только обычно применяется для идентификации разных компонентов в рамках одного Актора. Например, с помощью тегов «Head» и «Body» можно различать компоненты головы или тела при нанесении урона. Если урон пришёлся на компонент головы с тегом «Head», то урон равен 100%, если же урон пришёлся на компонент тела с тегом «Body», то — 50%.

Сами теги в компонентах добавляются во вкладке Details в меню Tags / Component Tags. Тегов можно добавить любое количество, так как они хранятся в качестве массива.

Теги в компонентах добавляются во вкладке Details в меню Tags / Component Tags
Теги в компонентах добавляются во вкладке Details в меню Tags / Component Tags

Практические уроки в Unreal Engine

В качестве практики по реализации функций Actor Has Tag и Component Has Tag Вы можете посмотреть следующие уроки, где я применял рассматриваемые функции:

  1. При смене игроком первого персонажа на второго в его интерфейсе (HUD) должен появиться виджет с надписью «Второй игрок» (применяем функцию Actor Has Tag). Перейти к практике >>
  2. Точечный урон для персонажа с раздельным учётом повреждения головы, тела и защитного щита (применяем функцию Component Has Tag). Перейти к практике >>

Совет. Вскоре выйдет моя бесплатная книга по Blueprints для Unreal Engine в PDF формате. Как она выйдет, рекомендую её скачать, чтобы Вы детально изучили блюпринты Анрил Энджин.

Оцените статью
( 1 оценка, среднее 5 из 5 )
Поделитесь этой статьей со своими знакомыми в социальных сетях, возможно, эта статья кому-то будет полезна
Unreal Engine - это просто
Добавить комментарий

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.