События

В данном разделе находятся общие для всех объектов события. Блоки внутри события выполняются непосредственно в момент возникновения события. Блоки событий могут использоваться многократно

Объект начал/закончил столкновение с..

Событие, выявляющее пересечение двух объектов (коллизию объектов) и выполняющее условие, которое в нем содержится

У события имеется 2 вводных параметра и 2 локальные переменных:

  • Главный объект, который является триггером
  • Объект-цель, с котором должен пересечься главный объект
  • Первый объект
  • Второй объект

Локальные переменные Первого объекта и параметры Второго объекта неизменяемые, но пользователь может их использовать для их вставки во внутреннюю структуру этого события в качестве переменной. Подробнее о локальных переменных можно прочитать в соответствующей статье

У этого события имеются два состояния: Начал и Закончил:

  • «Начал» - состояние которое реагирует на начало столкновения двух объектов
  • «Закончил» - состояние реагирующее на момент когда два объекта закончат столкновение

Переменная N изменила значение

Событие, которое проверяет было ли изменено значение заданной переменной. Если значение изменено, то блоки внутри события выполняются

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

Подготовка сцены

Блок, выполняющий все действия внутри себя перед началом старта проекта. То есть, пока блок не выполнится, у пользователя будет черный экран загрузки

Продолжительность черного экрана зависит от сложности блока «Подготовка сцены», но обычно это не занимает много времени

Запустить цепочку при старте сцены

Блоки внутри этого события выполняются один раз в момент загрузки сцены или смены режима на «предпросмотр». Этот блок удобно использовать для начальной инициализации состояния объектов в сцене, например включать кнопку, которая по умолчанию выключена

Выполнять каждые N секунд

Содержимое этого события будет выполняется с промежутком, указанным в поле ввода, до тех пор, пока проект не будет выключен или перезапущен

При смене режима просмотра на VR/Desktop

Это событие реагирует на переключение режима просмотра проекта в VR или в Desktop

Пример использования

Рассмотрим пример использования двух кажущихся на первый взгляд одинаковых блоков, блок «Подготовка сцены» и «Запустить цепочку при старте сцены». В какой то мере они действительно одинаковые, но в чем же тогда их отличие? Рассмотрим на примере. Создадим новый проект, перейдем в редактор сцены и разместим на сцене два куба. Для различия перекрасим их соответствующе назовем

После, в инспекторе скройте оба этих куба, что бы мы смогли увидеть результат выполнения логики

Подробнее об интерфейсе 3D-сцены можно прочитать в соответствующей статье

Перейдем в редактор логики. Создайте два события «Подготовка сцены» и «Запустить цепочку при старте сцены» и поместите в него «Объект активировать» из категории «Объекты» - «Любой». Также, для наглядности примера, поместите перед этими двумя действиями блок «Ожидать в течении N секунд» из категории «Цепочки» и установите параметр в 5 секунд

Сохраните логику и запустите проект

Результат говорит сам за себя:

  • Блок «Подготовка сцены» позволяет пользователю скрывать все исполняющиеся внутри него действия за темным экраном «Подготовка сцены», тем самым скрывая от пользователя выполнение логических функций, видеть ему которые необязательно
  • Блок «Запустить цепочку при старте сцены» выполняет ту же самую функцию, но выполняется сразу же при загрузке сцены

При запуске проекта с обширной логикой, если инициализировать выполнение всех функций в блоке «Запустить цепочку при старте сцены», проект при старте зависнет на небольшой промежуток времени для инициализации всех переменных и т.д. При инициализации функций в блоке «Подготовка сцены», пользователь увидит черный экран с обозначением и начнет проект сразу после его исчезания без каких либо подвисаний. Поэтому инициализацию вводных функций и переменных рекомендуется помещать в подготовку сцены