Actor Tags (Теги Актора) — это встроенная система маркировки объектов в Unreal Engine (UE4, UE5), представляющая собой массив значений типа Name, который можно назначить любому Actor. Теги позволяют быстро идентифицировать и классифицировать объекты без создания дополнительных классов, Blueprint Interface или использования Casting. Это один из самых простых и производительных способов определить роль объекта в игровом мире, когда требуется лишь проверить принадлежность объекта к определенной категории.
Примеры тегов: Enemy, Player, Interactable, Checkpoint, QuestItem, FireHazard, Boss, SpawnPoint.
Чтобы добавить тег объекту, выберите Actor на уровне или откройте его Blueprint, затем в панели Details найдите раздел Actor → Tags, нажмите кнопку + и добавьте один или несколько тегов. Один Actor может иметь сразу несколько тегов. Например, объект может одновременно иметь теги Enemy, Boss и Fire, что означает, что он является противником, боссом и источником огненного урона.
Одно из самых распространенных применений Actor Tags — фильтрация объектов при столкновениях. Например, во время событий Event Begin Overlap или Event Hit можно проверить, имеет ли другой Actor определенный тег, и в зависимости от результата выполнить нужную игровую логику. Например, если пуля столкнулась с объектом, имеющим тег Shield, происходит рикошет, если объект имеет тег Enemy — наносится урон, а если Breakable — объект разрушается. Такой подход позволяет отказаться от большого количества проверок через Casting и сделать Blueprint более универсальным.
Еще одна важная область применения — поиск объектов на уровне. Для этого в Blueprint используется узел Get All Actors with Tag, который возвращает массив всех Акторов с указанным тегом. Например, используя данный узел при запуске уровня можно найти все контрольные точки (Checkpoint), интерактивные объекты (Interactable), источники света (StreetLight) или любые другие группы объектов.
Также теги широко используются и в логике искусственного интеллекта. Вместо проверки конкретного класса персонажа ИИ может анализировать его теги. Например, если обнаруженный объект имеет тег Friendly, бот его игнорирует, если Enemy — атакует, а если Neutral — продолжает наблюдение. Такой подход особенно удобен, когда разные классы персонажей должны одинаково восприниматься системой искусственного интеллекта.
В Blueprints чаще всего используются два узла:
- Actor Has Tag проверяет, содержит ли Actor указанный тег, и возвращает True или False. Этот узел применяется практически во всех игровых механиках, где необходимо быстро определить принадлежность объекта к определенной категории.
- Get All Actors with Tag — возвращает массив всех Акторов на уровне с указанным тегом и используется для регистрации объектов, поиска игровых элементов и работы различных менеджеров.
При этом проверка тега с помощью Actor Has Tag практически не оказывает влияния на производительность и может использоваться достаточно часто. Однако узел Get All Actors with Tag выполняет поиск по всем объектам уровня, поэтому не рекомендуется вызывать его каждый кадр на Tick, особенно на больших уровнях с тысячами объектов. Оптимальной практикой считается выполнить поиск один раз во время Begin Play, сохранить полученный массив в переменную и в дальнейшем работать уже с сохраненными ссылками.
При использовании тегов рекомендуется придерживаться единого стиля именования. Наиболее распространенными вариантами являются PascalCase (EnemyBoss, QuestItem, SpawnPoint) или snake_case (enemy_boss, quest_item, spawn_point). Желательно избегать пробелов, случайных сокращений и различных вариантов написания одного и того же тега (Enemy, enemy, ENEMY).
В итоге Actor Tags в Unreal Engine — это простой, быстрый и универсальный механизм классификации объектов. Они позволяют легко фильтровать объекты, управлять взаимодействием, организовывать игровые системы и уменьшать количество проверок через Casting. При грамотном использовании теги делают Blueprint-логику чище, проще и легче в сопровождении, особенно в крупных проектах с большим количеством игровых объектов.
===============
Зарегистрироваться в ЛК и скачать книгу по Blueprint: [Blueprint. Взгляд с высоты «птичьего полёта»]