События
Чтобы объект реагировал на действия посетителя, добавьте ему компонент События. Код не нужен.
Каждое событие читается как фраза: когда случится вот это, сделай вот это.
Как собрать событие
| Поле | Что это |
|---|---|
| Название | Для вас. Называйте событие по тому, что оно делает, а не по объекту, на котором оно висит. |
| Триггер | Когда событие срабатывает. Новые события начинаются с триггера Нажатие на объект. |
| На объекте | Для триггеров на объекте: за каким объектом следить. По умолчанию — за этим. |
| Состояние | Для триггеров состояния: за каким состоянием следить. |
| Клавиша | Для триггеров клавиш: запишите сочетание клавиш вместе с модификаторами. |
| ID действия | Для триггеров интерфейса: какая кнопка. Оставьте пустым, чтобы реагировать на любую. |
| Шаги | Что происходит, по порядку. |
Чтобы добавить шаг, нажмите + добавить действие. В меню есть поле поиска, а шаги разложены по четырём группам:
- Действия — например, открыть ссылку, сменить сцену или показать объект.
- Анимации — проиграть анимацию с таймлайна или отправить объект по пути.
- Состояния — поменять, как что-то выглядит или ведёт себя.
- Логика — условия, переменные, сигналы и паузы.
Некоторые триггеры запускают разные шаги в разные моменты. Например, у триггера Нажатие на объект три списка: При клике или тапе, При нажатии и При отпускании.
Какой объект меняет шаг
У каждого шага есть поле Объект. Если оставить его пустым, шаг действует на объект, которому принадлежит событие. Если выбрать другой объект, шаг действует на него.
Событие живёт на одном объекте, но его шаги могут менять любые объекты. Одно событие на кнопке может открыть дверь, приглушить свет и показать табличку в другом конце сцены.
Триггеры
Событие может реагировать на:
- ввод: нажатие, наведение, клавишу, прокрутку, перетаскивание, масштабирование двумя пальцами;
- запуск сцены;
- сворачивание приложения и возврат в него;
- AR-трекинг: маркер найден или потерян;
- таймеры;
- приближение посетителя к объекту;
- смену состояния, а также показ или скрытие объекта;
- сигналы из других событий и изменение переменных;
- столкновения;
- кнопки интерфейса;
- смену состояния контроллера персонажа.
Редактор предлагает только те триггеры, которые имеют смысл для этой сцены. Например, в обычной 3D-сцене триггера «маркер распознан» не будет.
Касание объекта получают и его родительские объекты. Поэтому одно событие на группе ловит касания всего, что в неё входит. Как триггеры передаются и что делает каждый: События.
Шаги
| Группа | Шаги |
|---|---|
| Действия | Переход на сцену · Переход на пространство · Переход по URL ссылке · Переход в мессенджер · Вызов по номеру телефона · Написать письмо · Скачивание файла · Скачивание контакта · Захватить указатель · Отпустить указатель · Показать / скрыть объект · Следовать за объектом · Смотреть на объект · Прекратить следование |
| Анимации | Проиграть анимацию · Остановить анимацию · Лететь по пути · Остановить полёт по пути |
| Состояния | Переключить состояние · Изменить свойства |
| Логика | Если — иначе · Задать переменную · Отправить сигнал · Подождать и |
В старых проектах могут встречаться и шаги Трансформация, Прозрачность, Материал, Трансформация кости и Встроенная анимация. Они по-прежнему работают, но в меню их больше нет. Чтобы что-то двигать, используйте пресет из панели Анимация и шаг Проиграть анимацию.
Все шаги со всеми настройками: справочник шагов.
В шаге Если — иначе есть условие и два списка шагов. Шаг Если можно вложить в другой Если — вариантов получится столько, сколько нужно.
Повторное распознавание
В AR-сценах у каждого события есть режим повторного распознавания. Он решает, что происходит, когда маркер потерялся, а потом нашёлся снова:
- начать заново сразу;
- никогда не начинать заново;
- начать заново, когда закончатся текущие шаги.
События, патчи и скрипты слышат одни и те же триггеры. Если обработать один и тот же триггер на одном объекте в двух местах, он сработает дважды. Обрабатывайте каждый триггер в одном месте.
Дальше: Анимация — несколько объектов, движущихся вместе на таймлайне.