Перейти к основному содержимому

Как сделать сцену интерактивной

Добавьте объекту компонент Events — и можно задать ему поведение, ничего не написав.

Каждое событие — одна фраза: когда случится вот это, сделай вот то.

Как собрать событие

ПолеЧто это
Nameдля вас — называйте события по тому, что они делают, а не где висят
Triggerкогда срабатывает
Stateдля триггеров состояний — за каким состоянием следить
Keyдля клавиатурных триггеров — запишите сочетание с модификаторами
Action idдля интерфейсных триггеров — какая кнопка; пусто означает любая
Stepsчто произойдёт, по порядку

Шаги сгруппированы по вкладкам (Actions, Animations, States) — это примерно «повлиять на внешний мир», «заставить что-то двигаться», «изменить, каким что-то является».

На какие объекты действует шаг

У каждого шага есть целевой объект. Оставьте поле пустым — шаг подействует на объект, на котором висит событие; заполните — подействует на указанный.

Вот что стоит усвоить: событие живёт на одном объекте, но его шаги могут действовать на любой. Одно событие на кнопке открывает дверь, приглушает свет и запускает звук совсем в другом месте.

На что можно реагировать

Ввод (нажатие, наведение, клавиша, перетаскивание, щипок), старт сцены, пауза и возобновление приложения, найденный или потерянный AR-трекинг, таймеры, близость, смена состояния, столкновения, кнопки интерфейса и смена состояния контроллера персонажа.

Редактор предлагает только те триггеры, которые имеют смысл в текущем месте: «маркер обнаружен» не появится в обычной 3D-сцене.

Одно поведение, о котором полезно знать при сборке

Нажатие на объект доходит и до его родителей, поэтому событие на группе ловит нажатия по всему, что внутри. Это избавляет от необходимости вешать одно и то же событие на сорок объектов.

Как триггеры распространяются дальше и что делает каждый из них — в Событиях.

Что можно сделать

Список шагов, сгруппированный так же, как по вкладкам:

Actions
Переход к сцене · Переход к space · Открыть URL · Открыть мессенджер
Позвонить · Написать письмо · Скачать файл · Скачать контакт
Показать / скрыть объект · Следовать за объектом · Смотреть на объект · Прекратить следование
Лететь по пути · Остановить полёт по пути · Захватить курсор · Отпустить курсор
Animations
Проиграть анимацию · Остановить анимацию · Трансформация · Прозрачность
Материал · Трансформация кости · Встроенная анимация
States и логика
Задать состояние · Переопределить свойства · Если — иначе · Задать переменную
Отправить сигнал · Подождать, затем

Полные подробности со всеми параметрами: справочник шагов.

Ветвление — это шаг, а не настройка

Шаг if содержит условие и два вложенных списка шагов. Поскольку это шаг, он вкладывается: if внутри if даёт столько исходов, сколько нужно.

Повторный трекинг

Для AR-сцен режим повторного трекинга у каждого события решает, что происходит, когда маркер потерян и найден снова: начать заново сразу, не перезапускать вовсе или перезапустить после того, как текущие шаги отработают.

Если что-то срабатывает дважды, почти всегда причина в этом

События, патчи и скрипты слышат одни и те же триггеры. Один и тот же триггер, заведённый на одном объекте в двух из них, выполнится дважды. Выберите одно место для каждого.


Дальше: Animation Controller