This page has been translated automatically.
Видеоуроки
Интерфейс
Основы
Продвинутый уровень
Подсказки и советы
Основы
Программирование на C#
Рендеринг
Профессиональный уровень (SIM)
Принципы работы
Свойства (properties)
Компонентная Система
Рендер
Физика
Редактор UnigineEditor
Обзор интерфейса
Работа с ассетами
Контроль версий
Настройки и предпочтения
Работа с проектами
Настройка параметров ноды
Setting Up Materials
Настройка свойств
Освещение
Sandworm
Использование инструментов редактора для конкретных задач
Расширение функционала редактора
Встроенные объекты
Объекты (Objects)
Эффекты
Декали
Источники света
Geodetics
World-ноды
Звуковые объекты
Объекты поиска пути
Player-ноды
Программирование
Основы
Настройка среды разработки
Примеры использования
C++
C#
UnigineScript
UUSL (Unified UNIGINE Shader Language)
Плагины
Форматы файлов
Материалы и шейдеры
Rebuilding the Engine Tools
Интерфейс пользователя (GUI)
Двойная точность координат
API
Animations-Related Classes
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Objects-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
IG Plugin
CIGIConnector Plugin
Rendering-Related Classes
VR-Related Classes
Работа с контентом
Оптимизация контента
Материалы
Визуальный редактор материалов
Material Nodes Library
Miscellaneous
Input
Math
Matrix
Textures
Art Samples
Учебные материалы

Trigger

trigger - это узел нулевого размера, который не имеет визуального представления и запускает функции обратного вызова, когда:

  • Он включен / отключен (вызывается функция обратного вызова enabled).
  • Его преобразование изменено (вызывается функция обратного вызова position).

Node Trigger обычно добавляется как дочерний узел к другому узлу, так что функции обратного вызова будут запускаться на родительском узле, включающем / отключающем или преобразующем.

Примечание
Функции обратного вызова enabled и position должны быть реализованы в World скрипте.

The Node Trigger can work with procedurally created World Clutter objects.Node Trigger может работать с процедурно созданными объектами World Clutter.

Node Trigger может использоваться, например, для воспроизведения звука грома при вспышке молнии: когда включен узел молнии, вызывается функция обратного вызова enabled, которая воспроизводит звук.

Lightning node enabledУзел Lightning включен

See alsoСмотрите также#

Adding a Node TriggerДобавление Node Trigger#

To add a new Node Trigger via UnigineEditor do the following:Чтобы добавить новый Node Trigger через UnigineEditor, сделайте следующее:

  1. Run UnigineEditor.Запустить UnigineEditor.
  2. On the Menu bar, click Create -> Logic -> Node Trigger.

    В строке меню щелкните Create -> Logic -> Node Trigger.

  3. Place the Node Trigger in the world.
    Поместите Node Trigger в мир.
  4. Добавьте Node Trigger в качестве дочернего к узлу, для которого должны запускаться функции обратного вызова: выберите Node Trigger в окне World Nodes Hierarchy и перетащите его внутрь требуемого узла.

Editing a Node TriggerРедактирование Node Trigger#

To edit the Node Trigger, select it and go to the Node tab of the Parameters window.Чтобы отредактировать Node Trigger, выберите его и перейдите на вкладку Node окна Parameters.

Node Trigger settingsNode Trigger настройки

Handling EventsОбработка событий#

Редактирование ноды триггера включает в себя реализацию и указание обработчиков событий Enabled и Position, которые выполняются при включении или позиционировании ноды Trigger соответственно.

Обработчик события должен принимать как минимум 1 аргумент типа NodeTrigger. Кроме того, он может принимать еще 2 аргумента любого типа.

Обработчики событий задаются через указатели, указанные при подписке на следующие события: Enabled и Position.

Исходный код (C++)
// subscribe to the Enabled event when the trigger is enabled
nodeTrigger->getEventEnabled().connect(enabled_event_handler);
// subscribe to the Position event when the trigger's transformation is changed
nodeTrigger->getEventPosition().connect(position_event_handler);
Исходный код (C#)
// subscribe to the Enabled event when the trigger is enabled
nodeTrigger.EventEnabled.Connect(enabled_event_handler);
// subscribe to the Position event when the trigger's transformation is changed
nodeTrigger.EventPosition.Connect(position_event_handler);
Последнее обновление: 06.02.2024
Build: ()