Сценарий

Сценарий или редактор визуального скриптинга позволяет создавать логику работы всего проекта, в которой вместо программного кода используется визуально-блочный скриптинг (визуально-блочное программирование).

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

Блоки объектов можно свободно перемещать в области сценария, зажав левую кнопку мыши. Область сценария можно масштабировать, вращая колесико мыши, а также смещать области сценария, зажав третью кнопку мыши(колесико).

  • Ctrl+1 - задать 100% масштаб
  • Ctrl+2 - задать масштаб так, чтобы в окно поместилось вся область сценария, занятая блоками и соединениями.

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

События, действия и свойства объектов.

  • Событие - это сигнал программы о том, что с объектом что-то произошло. Например, у объекта Текст событие «Нажатие» происходит, когда пользователь нажимает на текстовый блок. Или у объекта «Метка» событие «Объект - скрыт» происходит, когда метка была убрана из зоны видимости камеры (метка перестала распознаваться). События нужны, чтобы указать когда выполнить действие.

  • Действие - это команда выполнить некоторую операцию или, иными словами, действие - это реакция программы на произошедшее событие. Например у объекта Аудио действие «Проиграть» означает, запустить проигрывание аудиофайла. Или при выполнени действия «Объект - скрыть» у объекта Модель - модель исчезнет. У действий может быть событие о его запуске. Например у объекта Модель событие «Анимация - началась» произойдет тогда, когда будет выполнено действие «Анимация - запуск».

  • Свойства - это дополнительные параметры действий и событий объекта. Например, у объекта «модель» у действия «анимация- запуск» имеется параметр «Название», который позволяет выбрать какую именно анимацию запустить.

    Примечание

    Соединять можно только событие и действие. Событие соединяется с действием кривой линией. Точка соединения для событий всегда находится слева

Создание/добавление нового блока объекта в сценарии

Для того, чтобы создать или добавить новый блок объекта необходимо:

Нажать правую кнопку мыши и выбрать объект из списка. В списке отображаются все объекты проекта.

Использовать технологию Drag-and-Drop: переместить объект из дерева объектов проекта в область сценария, «схватив» его левой кнопкой мыши.

???Добавить что такое технология Drag-and-Drop

Добавление событий и действий объекта

Чтобы добавить в блок событие или действие нажмите правой кнопкой мыши на верхней части блока объекта и выберите событие или действие из списка в соответствующем пункте выпадаюего меню. Чтобы отобразить в блоке объекта все возможные действия и события в выпадающем меню выберите «добавить все неиспользованные» (CTRL+U). Чтобы удалить все неиспользованные события и действия (события и действия без соединений) и в выпадающем меню выберите пункт «удалить все неиспользованные» (SHIFT+CTRL+U).

Соединение

Чтобы соединить событие с действием нажмите дважды левой кнопкой мыши на выход у события (кружок справа от события) и протяните линию до нужного вам действия.

Для создания соединения вы также можете выделить нужное вам событие, нажать пробел и провести линию до нужного вам действия.

Соединение одного события с несколькими действиями

Одно событие можно соединить с несколькими действиями.

Различные варианты построения сценария

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

Приоритеты соединений

У соединений можно выставить приоритеты, нажав правой кнопкой мыши по линии соединения. Это нужно в случаях, когда важна очередность выполнения действий от одного события. Например как на изображении выше. В данном примере необходимо чтобы по нажатию на кнопку изменился ресурс у объекта audio, а затем запустилось проигрывание нового ресурса. Для этого у действия «изменить ресурс» установлен высокий приоритет. Если выполнить эти действия в обратном порядке, проигрывание нового ресурса не произойдет.
По умолчанию у соединений нормальный приоритет. Если у различных действий одинаковый приоритет, то очередность выполнения действий случайна.
В большинстве случаев очередность выполнения не важна, так как все действия выполняются очень быстро (за один кадр).

Свойства

При выделении блока объекта в окне «Свойства» отображаются параметры объекта по аналогии с выделением объекта в окне «Проект».

При выделении отдельного события или действия в блоке объекта в окне «Свойства» отображаются параметры события или действия если они имеются.

Примечание

Не у всех событий и действий есть свои свойства для настройки.

Объект «Переключатель»

Помимо блоков объектов, в сценарий можно добавить блок выбора, который позволяет выбирать, какое действие выполнится в зависимости от активной опции выбора.

  • Событие соединяется с верхней точкой блока линией.
  • Опция переключателя соединяется с действием через правую точку.
  • Опция активизируется соединением от события к левой точке опции выбора.
  • По умолчанию активна первая в списке опция выбора.

На изображении выше приведен пример сценария презентации, где по нажатию кнопки меняется модель на метке. Изначально на метке присутствуют две модели, модель «десерт» скрыта. Когда камера распознает метку, рисуется модель «бургер». По событию нажатие на объекте «кнопка» первый раз, через блок выбора выполняется действие объект - скрыть у модели «бургер» (первая модель скрывается), так как по умолчанию активна опция выбора «бургер» которая означает, что сейчас на метке бургер. Когда модель скрывается, в блоке выбора активизируется опция «десерт» (соединение линией действия «объект - скрыт» у блока «бургер» в левом нижнем углу с опцией выбора «десерт» блока выбора). Также выполняется действие объект показать у модели «десерт» (вторая модель появляется на метке когда скрылась первая). При повторном нажатии на кнопку скрывается модель «десерт», так как теперь активна опция выбора «десерт». По событию объект-скрыт у модели «десерт» активируется опция выбора «бургер» у блока выбора и появляется модель «бургер». Презентация возвращается в начальное положение. И так по кругу. По нажатию на кнопку будет меняться модель.

image0 image1