World Trigger
World Trigger - это нода кубической формы, которая инициирует выполнение событий, когда любые ноды входят в ограничиваемый ею объем или выходят из него. World Trigger может обнаруживать ноды любого типа (как с физическими свойствами, так и без них) по их ограничивающему контуру и может использоваться для доступа к компонентам и параметрам ноды.
Следующие «абстрактные» ноды не имеют границ; поэтому они не взаимодействуют с World Trigger (независимо от того включена опция Triggers Interaction или нет):
- Dummy Node
- Node Reference
- Node Layer
- World Switcher
- World Transform Path
- World Transform Bone
- World Expression
- Dummy Object (если он не имеет назначенного физического тела)
Смотрите также#
- WorldTrigger класс для управления World Trigger через API
-
Набор сэмплов в папке data/samples/worlds:
- trigger_01
- trigger_02
- Видеоурок Как обнаружить любой объект при помощи World Trigger
Создание World Trigger#
Чтобы создать World Trigger через UnigineEditor:
-
В меню выберите Create -> Logic -> World Trigger.
- Поместите ноду в сцену.
Редактирование World Trigger#
На вкладке Node окна Parameters вы можете настроить следующие параметры World Trigger:
Параметры ограничивающей рамки#
Набор параметров ограничивающей рамки:
Edit Size |
Включает и выключает режим редактирования для ноды World Trigger. Если этот параметр включен, стороны ограничивающего прямоугольника, размер которых можно изменить, выделяются цветными прямоугольниками. Чтобы изменить размер стороны, перетащите соответствующий прямоугольник. |
---|---|
Touch | Включает и выключает сенсорный режим для World Trigger. В этом режиме World Trigger реагирует на ноду при частичном контакте. В противном случае World Trigger реагирует только в том случае, если весь ограничивающий прямоугольник попадает внутрь него. |
Size | Размер ограничивающего прямоугольника World Trigger по осям X, Y и Z в юнитах. |
Обработка событий#
Чтобы выполнять определенные действия, когда нода входит или выходит из World Trigger, следует реализовать обработчики событий, которые получают Node в качестве первого аргумента. Затем следует подписаться на события Enter и/или Leave и вызвать connect().
// subscribe to the Enter event when a node enters the world trigger with your handler
worldTrigger->getEventEnter().connect(enter_event_handler);
// subscribe to the Leave event when a node leaves the world trigger with your handler
worldTrigger->getEventLeave().connect(leave_event_handler);
// subscribe to the Enter event when a node enters the world trigger with your handler
worldTrigger.EventEnter.Connect(enter_event_handler);
// subscribe to the Leave event when a node leaves the world trigger with your handler
worldTrigger.EventLeave.Connect(leave_event_handler);
Информация, представленная на данной странице, актуальна для версии UNIGINE 2.19.1 SDK.