![]() |
||||
Урок 2: Создание простейшего VS- проекта. Учебные файлы для данного урока: VS_Tutorial_02.vsp (скачать все материалы). Итак, запускаем программу HotActions (она стартует в "Edit" моде и для перехода в эфирную моду необходимо нажать кнопку "Start LiveAction", но это нам понадобится попозже). Панель инструментов в "Edit" моде выглядит так:
Таким образом, мы создали все необходимые окна в нашем проекте. Осталось их теперь наполнить содержимым. В окне экшенов (в нашем случае VS_Tutorial_01.acl) будут находиться базовые экшены - "кирпичики" нашего проекта. Каждый такой "кирпичик" будет содержать набор текстовых команд. В окне "хотсетов" (в нашем случае VS_Tutorial_01.hot) будут находиться кнопочки, по нажатию на которые будут выполняться те или иные команды. Каждой иконке в "хотсете" будет соответствовать командный "кирпичик" из окна "экшенов". Текстовое окошечко, вообще говоря, не обязательно. В нём могут находиться какие-то пояснения к проекту или иная полезная информация. Заметим так же, что в хотсете у нас по умолчанию создаётся пустой "хотбар" с названием $STARTUP$. Любой "экшен" помещённый в него, выполнится автоматически при заходе в эфирную моду (Live Mode). Такой "экшен" называется инициирующим и его созданием мы в первую очередь и займёмся. Кликаем правой кнопкой мыши в окно экшенов (Action Library), выбираем из выпадающего меню - "New Action" и называем этот новый экшен - "Init". Вообще-то можно называть как угодно, но так - понятнее. Теперь вызываем окно свойств (Properties). Открыть (или закрыть) это окно можно используя <Alt Enter>. Выделяем мышкой экшен Init и в окне Properties (в области "Body") пишем следующий текст:
Первая команда загружает 3D сцену. Вторая команда делает виртуальную камеру с именем "Camera01" текущей камерой (то есть сцену мы будем наблюдать через "объектив" данной виртуальной камеры). Третья команда "навешивает" джойстик и мышь на объект сцены (в данном случае на камеру), что позволяет управлять вращением или движением этого объекта в реальном времени. Далее следует группа команд работы с видеопотоком от реальной камеры. Первая команда из этой группы создаёт поток, вторая указывает, нужно ли "кеить" его по цвету (параметры - ALPHA / NOALPHA). Третья команда стартует этот поток. И, наконец, последняя команда указывает, какой материал сцены заменить на живое видео (в нашем случае - это материал, присвоенный прямоугольнику с именем "!actor").. Теперь "хватаем" наш экшен в окне "Action Library" и "тащим" его в хотбар с названием. $STARTUP$ (он расположен в хотсет-панели VS_Tutorial_01.hot). В хотсете создастся кнопочка. Выделив её мышкой, в панели Properties можно поменять ей имя (по умолчанию она называется так же, как и экшен) назначить на неё Hotkey (что, вообще говоря, необязательно), выбрать для неё подходящую иконку или редактировать экшен, на который она ссылается. Всё это можно сделать, используя закладки, находящиеся внизу панели "Properties". Попытаемся создать кнопочки переключения камер. Снова кликаем правой кнопкой мыши на свободное место в окне "Action Library" и создаём следующий экшен:
Назовём его "Camera1". Вторую сторочку мы добавили для того, чтобы вместе с переключениями камеры на неё передавалось бы и управление вращением и перемещением. Аналогично создаём экшены "Camera2" и "Camera3" (соответственно с именами "Camera2" и "Camera3" в правой части команд).
Может так получиться, что в какой-то момент эфира вам потребуется убрать из сцены какой-то объект с именем "object name", а в другой момент он вам снова понадобится. Это можно проделать при помощи команд :DATA.NODE.object name.HIDE = 1 и :DATA.NODE.object name.HIDE = 0 соответственно. Создадим два таких экшена для нашего "актёра" с командами :DATA.NODE.!actor.HIDE = 1 и :DATA.NODE.!actor.HIDE = 0 соответственно. Перетащим, опять же на свободное место хотсета, чтобы создался новый хотбар (и назовём его... ну, скажем, "Configure scene"). Убедимся, что они работают. Если необходимо одновременно спрятать (или показать) сразу несколько объектов, можно написать в одном экшене несколько команд для разных объектов. Так и поступим, и в одном экшене укажем одно состояние видимости для всех объектов сцены, а в другом - другое. А заодно (чего уж мелочиться) укажем, какая камера при этом будет текущей. Для этого, кстати, вовсе не обязательно снова переписывать содержимое экшена, скажем, "Camera2" . Можно просто сослаться на этот экшен командой :ACTION.START = "Camera2" и он выполнится. Так мы и поступим. В результате у нас получится вот такой экшен:
Для разнообразия создадим ещё пару подобных экшенов (один из которых будет приводить к первоначальному виду, например). И "потащим" их теперь в уже имеющийся у нас хотбар "Configure Scene". В довершение создадим ещё один очень полезный экшен с единственной командой :DATA.RESET = 1 . Если вы ткнули в экран мышкой и "наэкспериментировали" ею с ориентацией камер (или положением, масштабом каких-то объектов сцены, о чём речь будет несколько попозже), то выполнение этого экшена поможет вам восстановить изначальное их состояние. Теперь наши "Action Library" и "Hotset" выглядят так: ![]() Закрепим достигнутый успех и сохраним наши отредактированные файлы, нажав кнопочку Для того, чтобы посмотреть, как это всё выглядит с живым видео, недостаточно просто нажать кнопку перехода в эфирную моду В завершение советую покликать правой кнопкой мыши куда только можно - на заголовки окон, на иконки, кнопки, на свободные поля панелек ... Из выпадающих при этом менюшек Вы почерпнёте для себя много нового и интересного. В следующем уроке мы научимся управлять анимацией объектов сцены.
|