Действия над объектом
Set Trigger Триггерная зона
Превращает меш в невидимую зону, которая ничего не держит, но сообщает скрипту, что в неё кто-то вошёл. Дверь, которая открывается сама; музыка, которая включается в комнате; чекпоинт — всё это триггеры.
Что делает кнопка
Добавляет коллайдер, если его не было.
Включает у коллайдера флаг Is Trigger.
Назначает служебный полупрозрачный материал, чтобы зону было видно в редакторе.
В режиме Play и в собранной игре Renderer автоматически выключается — зона становится невидимой.
Триггер против коллайдера
Обычный коллайдер останавливает движение. Триггер пропускает сквозь себя, но вызывает события OnTriggerEnter, OnTriggerStay, OnTriggerExit.
Триггер бесполезен без скрипта: сам по себе он ничего не делает, только сообщает.
Практика формы
Триггерные зоны почти всегда делают простыми кубами: сложный меш-коллайдер в роли триггера дорог и капризен.
Для триггера, у которого включён Convex, форма упрощается автоматически — ещё одна причина не усложнять.
Разбор внутренних меню
Каждое поле — что задаёт, какие значения принимает и на что влияет.
Что появляется на объекте
Что нужно добавить самому
Попробуйте сами
Пять минут в Unity — и инструмент перестанет быть кнопкой с непонятным названием.
- Постройте куб размером с дверной проём перед дверью.
- Нажмите Set Trigger — куб стал полупрозрачным.
- Посмотрите в инспектор: у коллайдера включён
Is Trigger. - Нажмите Play — зона исчезла с экрана, но осталась в сцене.
- Повесьте на неё скрипт с
OnTriggerEnterи убедитесь, что событие приходит.
Приёмы
- Называйте триггерные объекты с префиксом, например
TRG_DoorEntry— в иерархии из сотни объектов это спасает. - Триггер-зона чуть больше самого объекта работает надёжнее: игрок не «проскакивает» её на скорости.
- Держите триггеры отдельным родительским объектом — их удобно скрывать целиком во время моделирования.
- Не забывайте снимать с триггеров флаг участия в запекании света: иначе их служебный материал повлияет на лайтмап.
Грабли
- Триггер без скрипта — просто невидимый куб. Кнопка не создаёт логику, она создаёт зону.
- События не приходят, если ни у одного из участников нет Rigidbody.
- Сложный меш-триггер с включённым Convex упрощается до 255 граней и может «промахиваться».
- Триггер, помеченный как статический для GI, портит запекание. Снимайте флаг.
Проверка
Четыре вопроса. Неверный ответ попадёт в банк ошибок и вернётся к вам в разделе «Практика».
1. Что отличает триггер от обычного коллайдера?
Триггер не останавливает движение — он сообщает о входе и выходе.
2. Что происходит с Renderer триггера в режиме Play?
ProBuilder гасит отрисовку служебных объектов при входе в игру и в сборке.
3. Почему событие OnTriggerEnter может не приходить?
Это стандартное требование физики Unity к триггерным событиям.
4. Какая форма предпочтительна для триггерной зоны?
Простая форма дешевле и надёжнее срабатывает.