HotActions 3.0 Путеводитель

Материал из dgraphic
Перейти к навигации Перейти к поиску

Здравствуйте, будущие Профессиональные Пользователи HotActions 3.0!

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

Возможно, какие-то из глав Вам покажутся слишком длинными, чтобы пройти их на одном дыхании. Ничего страшного! Никто не запрещает отлучиться в середине главы на пару часиков релакса и вновь вернуться к обучению (хотя бы через пару недель). Главное, хорошо запомнить место остановки.

Перед началом нашего путешествия предупреждаем: подразумевается, что все оборудование виртуальной студии подключено и протестировано, программа HotActions (версии 3.0!) и примеры проектов установлены (включая сопроводительные медиа-файлы), камеры присоединены, а кеинг - настроен. Если же хоть что-то из вышеперечисленного «хромает» (например, Вы впервые слышите слово «кеинг»), обратитесь в техподдержку или прочитайте рекомендуемый в приложении «Список Рекомендованной Литературы».

Заметим, что в рамках этого курса мы не будем пытаться делать трехмерные сцены с нуля (поскольку это отдельная история, см. приложение), а научимся создавать проекты, использующие уже готовые сцены (экспортированные из 3D Studio MAX). Ну что же, если Вы готовы – перехватите мышку поудобней и вперед!!!

Обзор интерфейса приложения

Итак, приложение, в котором мы будем активно работать, называется HotActions (в дальнейшем для краткости иногда будем называть просто HA) и по умолчанию находится в программной группе SnG Software\Focus\HotActions 3.0. Его-то мы и запускаем.

Программа открывается в так называемом режиме Редактирования, само название которого недвусмысленно намекает, для чего он существует.

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

1 T.jpg

Начнем путешествие по главному окну. Пока будем стараться избегать нажатия на непонятные кнопки, особенно с крестиками, дабы предотвратить возникновение паники из серии «потерялось окно!».

Инструментальные панели (тулбары)

Давайте сразу договоримся: начиная с этого момента, так называемые инструментальные панели - ряд командных кнопочек с иконками - будем именовать для краткости тулбарами (от англ. «toolbar»).

2 T.jpg

Тулбар «Главное Меню»

3 T.jpg

В народе поговаривают, что даже Ежу ясно, зачем программам нужно Главное Меню.

Тулбар «Главный»

4 T.jpg

В наглядном кнопочном виде в нем дублируются наиболее популярные команды, входящие в главные подменю Файл и Правка. Назначение этих команд достаточно очевидно для любого, кто не в первый раз в жизни открыл Windows-программу, поэтому расшифровывать их не будем (в целях экономии места на этой странице).

Тулбар «Вид»

5 T.jpg

Этот тулбар содержит команды одноименного главного подменю Вид, в основном отвечающие за показ/скрытие присоединенных по периметру главного окна панелей:

6 T.jpg - Обозреватель;

7 T.jpg - Файлы проекта;

8 T.jpg - Новые объекты;

9 T.jpg - Иконки;

10 T.jpg - Отладочный вывод;

11 T.jpg - Редактор;

12 T.jpg - Свойства;

13 T.jpg - Превью Медиа;

14 T.jpg - Превью Рендера;

В конце тулбара имеются команды, отвечающие за расположение всех панелей:

15 T.jpg - Команда Скрыть все панели для одновременного скрытия/показа всех открытых панелей.

16 T.jpg - Переключение между тремя изменяемыми вариантами расположения панелей.

Тулбар «Действия»

17 T.jpg

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

18 T.jpg - Переход в режим Эфира (после перехода меняется на режим Редактирования);

19 T.jpg - Команда инициализации проекта Запустить Все (после выполнения меняется на команду Сбросить Все);

20 T.jpg - Проиграть/продолжить Сценарий проекта;

21 T.jpg - Остановить Сценарий проекта;

22 T.jpg - Включить ТВ-выход (отображает выход Рендера на телевизионном мониторе);

23 T.jpg - Настройки Видео (выбор входных видео-источников, настройки кеинга и т.п.);

24 T.jpg - Звуковой микшер;

25 T.jpg - Общие настройки приложения.

Присоединяемые панели

Новые Объекты

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

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

26 T.jpg

Файлы Проекта

Кликнув на табуляторе с данным названием, мы откроем взору эту панель:

27 T.jpg

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

Иконки

28 T.jpg

Панель представляет собой обозреватель иконок, используемых для оформления Ваших кнопок.

Обозреватель

29 T.jpg

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

Редактор

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

30 T.jpg

Свойства

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

31 T.jpg

Свойства объектов могут представлять собой:

  • одну или несколько вкладок;
  • быть редактируемыми или только для чтения;
  • выглядеть в виде диалоговой панели или списка параметров со значениями.

Для примера выделите мышью любую иконку, находящуюся внутри панели Иконки – и в окне свойств немедленно появится соответствующая информация о ней (в данном случае нередактируемая, только для чтения).

Превью Рендера

Пожалуй, важнейшая панель приложения – в ней «прорублено окно» в нашу трехмерную сцену.

32 T.jpg

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

В мире интересного! Эта заставка соответствует графическому bmp-файлу EmptyRender.bmp, находящемуся в программной поддиректории \Common\Images. Так что, при желании можете заменить этот стандартный «матрац» на свой собственный…

С остальными, пока что спрятанными панелями Отладочный Вывод и Превью Медиа, мы разберемся позже (хотя их названия уже слегка говорят за себя).

Манипуляции с панелями

Любую панель, при желании, можно запросто развернуть на всю полосу, используя кнопку 34 T.jpg в правой части заголовка. И не только! Панель можно передвигать по полосе, «переклеивать» в другие части главного окна; либо отсоединять, переводя их в так называемый плавающий режим. Для этого попросту захватите панель за заголовок и переместите в желаемое место – а там уже по ходу дела панель сама будет стремиться «приклеиться» куда надо (главное, правильно управлять этим процессом).

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

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

33_T.jpg

Здесь и далее контекстным меню называется всплывающее меню, вызываемое кликом правой кнопки мыши на объекте, заголовке или свободном месте окна.

С помощью этого меню можно переместить панель даже в центральную область документов главного окна, выбрав опцию В виде закладки.

Случайно (или специально) закрыв панель крестиком, можно вновь показать его через главное меню Вид / <название панели>, либо с помощью соответcтвующей кнопки на тулбаре Вид.

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

В недалеком будущем став экспертом HA, Вы можете захотеть использовать в режиме Редактирования несколько вариантов расположения панелей. На этот случай предусмотрено сохранение целых трех вариантов расположения. При переключении на другой вариант предыдущее расположение автоматически запоминается. Переключать варианты расположения можно «горячими» клавиатурными сочетаниями <Ctrl+1>, <Ctrl+2> и <Ctrl+3>, либо кнопками 35 T.jpg на тулбаре Вид. Кстати, любой текущий вариант расположения можно сбросить в умолчательное состояние, выбрав в главном меню Вид / Расположение панелей / Сбросить по умолчанию.

Рабочая среда

Раз уж мы упомянули выше про варианты расположения панелей, для особо пытливых будет полезно узнать, как сохранить эту информацию (да и не только ее) в отдельном файле.

Для сохранения так называемого «рабочего пространства» приложения существуют файлы типа Рабочая Среда (расширение .vsw), в которых всегда запоминается следующее:

  • Главное – это текущие расположения панелей (все три варианта): то, как они располагаются в главном окне приложения, какие показаны, а какие – спрятаны;
  • Путь к проекту, который был открыт на момент выхода из приложения;
  • Также пути к свободным документам (т.е. не входящим в проект), если они были открыты на момент выхода из приложения;
  • Состояние папок в деревьях объектов (раскрыта или схлопнута);
  • …прочая информация, зависящая от версии приложения.

В одной папке с приложением всегда располагается как минимум один такой файл рабочей среды, по умолчанию загружаемый при старте и автоматически сохраняемый по выходу из приложения (в случае полной версии HA он называется Default_Full.vsw).

Однако, при желании, Вы можете загружать или сохранять рабочую среду в собственные отдельные файлы, используя главное меню Файл / Открыть рабочую среду… и Файл / Сохранить рабочую среду как…. Это может быть полезно, если под одним Windows-пользователем с HA работает несколько человек, и каждый трудится не только над своим проектом, но и с собственным расположением рабочих панелей.

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

(например, Конфиг1.vsw, Конфиг2.vsw). Теперь открывайте их в произвольном порядке и убедитесь, что панели будут занимать позиции, соответствующие моменту сохранения. В самом конце не забудьте загрузить Original.vsw, восстановив тем самым первоначальную конфигурацю! На всякий случай предупреждаем, что по выходу из приложения текущая конфигурация панелей, помимо сохранения в умолчательном файле рабочей среды, всегда дополнительно сохраняется в реестре - а поэтому «безвозвратная потеря» файла Default_Full.vs вовсе не так уж и страшна.

Ну вот, после того, как мы слегка разобрались с основными окнами приложения, можно смело приступить к работе над нашим Первым Проектом!

Загрузка и управление готовым проектом

Однако, прежде чем мы начнем «ваять» собственный проект, давайте попробуем загрузить уже готовый и вдоволь «наиграться» с ним. Точнее так: «опередив время», мы загрузим проект, который в результате нашего обучения премудростям HA должен у нас получиться в конце курса.

Проекты HotActions версии 3.0 и выше имеют расширение .vs.

Чтобы выполнить загрузку проекта, у Вас есть целых пять вариантов:

1. Найти в Windows-обозревателе нужный проект и дважды кликнуть на нем. Проект откроется в HotActions (даже если приложение закрыто в данных момент, оно запустится).

2. Найти проект с помощью вcтроенного в приложение Обозревателя (см. выше описание панелей) и также дважды кликнуть на нем, либо перетащить его в центральную часть главного окна.

3. Кликнуть на кнопке Открыть 36 T.jpg главного тулбара: появится стандартный диалог открытия файла, где можно выбрать нужный проект.

4. Выбрать в главном меню команду Файл / Открыть…

5. …или попросту нажать <Ctrl+O>

Итак, выберите способ на свой вкус и с его помощью загрузите файл проекта Проект 14.vs из прилагаемого к этому курсу файлов. Главное окно приложения приобретет следующий вид:

37 T.jpg

В средней части мы видим собственно окно проекта, чем-то напоминающее стандартный Windows-обозреватель, поскольку представляет собой «неразлучную пару» из дерева папок (слева) и списка объектов (справа), находящихся в выбранной папке.

Непосредственно над окном проекта возвышается так называемый хотсет (от англ. «hotset»), на котором размещены разноцветные кнопочные панели управления сценой – хотбары (от англ. «hotbar»).

38 T.jpg

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

Теперь, когда проект загружен, в окне панели Файлы Проекта мы увидим все медиа-файлы, входящие в данный проект (как минимум, это 3D-сцена), а также его собственные Медиа-папки – пути, по которым просходит поиск различных типов медиа, относящихся именно к этому проекту.

39 T.jpg

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

40 T.jpg

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

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

41 T.jpg

Ну а теперь попробуем запустить проект и поуправлять 3D-сценой. Для этого переведем приложение во второй базовый режим – режим Эфира.


Режим Эфира

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

Перейти в режим Эфира можно, нажав одноименную кнопку Режим Эфира 43.1 T.jpg на тулбаре Действия (либо через главное меню Действия / Режим Эфира).

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

42 T.jpg

В верхней части окна остается только главное меню и тулбар Действия – но даже он поменял свой вид на следующий:

43 T.jpg

Изменились\добавились следующие кнопки:

44 T.jpg - Обратный переход в режим Редактирования;

45 T.jpg - Комбобокс для выбора текущего пресета;

46 T.jpg - Редактирование выбранного пресета;

47 T.jpg - Команда Перезапустить Все.

Обратите особое внимание, что сразу после перехода в режим Эфира происходит автоматическая инициализация проекта (на это время посередине окна всплывает информационное сообщение), а на выходном ТВ-мониторе появляется полноэкранное изображение нашей сцены (последнее не относится к программной модификации HotActions Design!).

Имейте в виду, что после инициализации некоторые объекты сцены могут изменить свои положения, а ряд текстур поменять свой вид, Может быть запущено зацикленное проигрывание каких-либо анимационных трэков и\или видеофайлов. Но самое «популярное» изменение: вместо изображения Актера появляется живое видео с присоединенной камеры (если, конечно, Вы ее правильно подключили и выбрали в диалоге видео-настроек - см. соответствующий документ в «списке литературы»).

Хотсет приобрел вид перемещаемого окна, размер которого подстроен под расположение подписанных кнопочных панелек. Смело жмем на кнопки и, глядя в Превью Рендера или ТВ-монитор, пытаемся понять, к каким изменениям в сцене это все приводит… (Жмите не боясь - межконтинентальную ракету точно не запустите!)

Если вдруг показалось, что Вы что-то испортили, перестаравшись с нажатием на кнопки - не переживайте и жмите на главном тулбаре кнопку 48 T.jpg Перезапустить Все.

Команда Перезапустить Все приводит к сбросу и повторной инициализации проекта. Ее эффект аналогичен последовательному выполнению команд Сбросить Все, а затем - Запустить Все.

Можно загружать другие проекты, не выходя из режима Эфира: например, через главное меню Файл / Открыть или используя клавиатурное сочетание <Ctrl+O>. При этом новый загружаемый проект будет автоматически инициализироваться сразу же после открытия (последнее относится только к режиму Эфира!).

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

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

Закрытие проекта

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

А вообще, опция автоматического открытия последнего проекта задается в диалоге общих настроек приложения, вызываемом из меню Действия / Общие настройки…, вкладка Общие, опция Загружать последнюю рабочую среду при запуске. Если галочка на этой опции снята, HA всегда будет запускаться пустым.

Пресеты

В изменившемся тулбаре Действия трудно не заметить новый элемент типа выпадающий список, или, если короче - комбобокс, (от англ. «сombobox»).


49 T.jpg

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

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

Например, сменим в проекте «Корона.vs» текущий пресет «Цветовая схема 1» на «Цветовая схема 2» и перезапустим проект, нажав кнопку Перезапустить Все (можно использовать сочетание <Ctrl+R>). Сцена изменит свой вид:

50 T.jpg

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

51 T.jpg

Для изменения какого-либо параметра кликните мышью в его поле, находящемся в колонке Значение. В зависимости от типа параметра, появится элемент редактирования значения. Это может быть диалог выбора файла, шрифта или цвета; окошко редактирования целого или вещественного числа, комбобокс с вариантами значений и т.д. Надеемся, что с использованием этих элементов несложно разобраться интуитивно. Изменив значения параметров и закрыв диалог кнопкой ОК, не забываем выполнить команду Перезапустить Все, если Вы хотите увидеть эти изменения незамедлительно.

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

Итак, поэкспериментировав с разными проектами, с чувством выполненного долга покидаем режим Эфира, нажав на тулбаре Действия кнопку Режим Редактирования, дабы продолжить освоение базовых сущностей HA. На очереди – исследование устройства типичного документа 3D-сцены.

Знакомство с 3D-сценой

Загрузим готовый проект «Глава_14.vs» и поднимем взгляд чуть выше хотсета. Справа от активного табулятора «Глава_14.vs» нетрудно обнаружить еще один - с названием сцены «Новости.3d». Табулятор неактивный, поэтому его-то мы и кликнем, чтобы разобраться в устройстве типичной 3д-сцены.

52 T.jpg

Также активировать документ сцены проекта можно нажав кнопку 53 T.jpg «Показать Сцену» на тулбаре проекта, либо дважды кликнув на соответствующем файле сцены в дереве панели «Файлы Проекта».

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

54 T.jpg

На верхнем тулбаре документа расположены кнопки, отвечающие за показ деревьев и списков основных типов объектов сцены. Это:

55 T.jpg - Узлы (от англ. «Nodes»);

56 T.jpg - Меши (от англ. «Meshes»);

57 T.jpg - Камеры;

58 T.jpg - Источники света;

59 T.jpg - Материалы;

60 T.jpg - текстурные Карты.

61 T.jpg - включение режима отображения Показать зависимые объекты

Надеемся, что назначение этих объектов в сцене Вам интуитивно ясно, однако на всякий случай уточним:

Мешем называется композиция из граней и вершин, определяющих форму трехмерного объекта.

Узел – виртуальный объект, отвечающий за положение (трансформацию) меша, камеры или источника света в виртуальном пространстве (сдвиг, поворот, масштаб), а также иерархию объектов сцене. Не все узлы соответствуют мешам: часто используются узлы-«пустышки» для вспомогательных целей – так называемые дамми-узлы (от англ. «Dummy»).

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

Дерево Узлов

По умолчанию мы видим дерево узлов сцены, отображающее их иерархию - «наследственные связи».

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

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

Часть узлов имеет зеленые и желтые стрелочки в правой нижней части иконки. Зеленая стрелочка 63.1 T.jpg означает, что узел имеет собственный анимационный трэк. Встанем мышью на подобный узел, например 64 T.jpg «Узел01». Теперь его анимационный трэк можно проиграть, используя Проигрыватель, находящийся в нижней части документа сцены:

65 T.jpg

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

Желтая стрелочка 66 T.jpg сигнализирует, что у данного узла есть дочерние узлы, имеющие собственную анимацию - как минимум один узел-«ребенок» с зеленой стрелочкой.

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

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

67 T.jpg


Узлы, не имеющие стрелочек вовсе, проиграны быть не могут (нечего играть!) – а потому не удивляйтесь, что элементы проигрывателя серые, когда подобный узел находится в фокусе мыши:

68 T.jpg

Обратите внимание на отображение текущей позиции трэка 69 T.jpg (текущего кадра) в правой части проигрывателя.

По умолчанию текущая позиция представлена в формате стандарта SMPTE: т.е. ЧАСЫ:МИНУТЫ:СЕКУНДЫ:КАДРЫ. Но при желании, этот формат представления можно изменить через контекстное меню, вызываемое по правому клику (например, Вам привычней измерять время в единичных кадрах)

70 T.jpg

Значение текущей позиции при необходимости можно скопировать в буфер обмена. Для этого выделите значение мышью и используйте клавиатурное сочетание <Ctrl+C>.

71 T.jpg

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

Если двигать мышью с зажатой левой кнопкой в окне Превью Рендера, активный узел будет трансформироваться в соответствии с перемещениями мыши (по умолчанию - вращаться). Чтобы сделать узел активным, дважды кликните на нем мышью в дереве (списке) узлов.

Включить режим сдвига активного узла можно, зажав на клавиатуре клавишу <Shift>, а режим масштабирования – зажав <Ctrl>. Смена осей трансформации достигается кнопкой <Tab> - при этом оси циклически переключаются с каждым нажатием (например, ХУ-УZ-ZX-XY и т.п.).

Вернуться к исходному положению узла (сбросить трансформацию) можно, нажав <Ctrl-R>, находясь в окне Превью Рендера (при этом сбросятся все узлы); либо командой Сбросить Трансформацию в контекстном меню узла (при этом сбросится только этот конкретный узел).

Все это используется для изучения деталей объектов сцены, а также подбора цифровых значений трансформации. Например, сделайте активным узел «Узел01» и покрутите его мышью, как было описано выше. Теперь изучите вкладку Узел в панели Свойства. В ней Вы увидите измененные значения трансформации в цифрах, которые при необходимости можно копировать в буфер обмена.

72 T.jpg

Обратите внимание на кнопку 73 T.jpg в свойствах узла - по ее нажатию появляется диалог, предоставляющий альтернативный способ изменения трансформации узла. Попробуйте освоить его самостоятельно.

74 T.jpg

Имейте в виду, что изменения любых объектов сцены, производимые в окне Свойства, не могут быть сохранены в файле сцены. Дело в том, что все сцены в HA открываются в режиме «только для чтения» - а потому неудивительно, что команда главного меню Файл / Сохранить для сцен всегда запрещена (cерая). Возможность изменения свойств объектов сцены служит скорее для исследования ее устройства и подбора точных числовых значений, которые будут использоваться в качестве параметров экшенов (все это детально будет описано в будущем!).

Список Мешей

75 T.jpg

Этот список несет чисто информационные цели: показывает список всех мешей в алфавитном порядке. При выделении мышью одиночного меша в панели свойств отображается количество его вершин и граней

76 T.jpg

Список Камер

77 T.jpg

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

78 T.jpg

Так же, как и узел, сделать камеру активной можно с помощью двойного клика мыши в списке камер документа сцены. Если кликнуть мышью и покрутить ее колесиком в панели Превью Рендера, у активной камеры будет изменяться поле зрения (или FOV – «Field of View»).

Список Источников света

79 T.jpg

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

80 T.jpg

Список Материалов

81 T.jpg

Взглянув на иконки этого списока, можно понять, какие материалы имеют текстурные карты, а какие – нет:-

82 T.jpg - материал с одной или более картой;

83 T.jpg - материал без текстур.


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

84 T.jpg

Список текстурных Карт

85 T.jpg

Здесь мы видим список текстурных карт, которые принадлежат данной сцене (запакованы в ее файл .3d). В дальнейшем любую карту из этого списка мы научимся заменять на другой файл изображения

Полное имя карты состоит из названия материала, на который эта карта назначена, и ее типа (разделены точкой)

В свойствах конкретной карты отображается информация о ее размере и прочие аттрибуты.

86 T.jpg

А теперь, не покидая списка карт, активируем панель Превью Медиа, которая до этого была скрыта. Это можно сделать через главное меню Вид / Превью медиа или попросту нажав кнопку 87 T.jpg на тулбаре Вид.

88 T.jpg

В этой панели мы увидим 2D-изображение карты, выделенной в списке карт мышью. Это может быть полезно для поиска конкретной текстуры в сцене.

Вот мы и познакомились с устройством документа сцены… Поздравляем! Теперь Вы располагаете всеми необходимыми знаниями, чтобы вплотную приступить к созданию своего Первого проекта!

Создание нового проекта

Выбор расположения проекта и базовой 3D-сцены

Итак, приступим. Выберите в главном меню “Файл\Новый” либо кликните на первой кнопке главного тулбара.

89 T.jpg

Перед Вами предстанет следующий диалог:

90 T.jpg

Выберите в списке тип файла Проект, а в поле Имя файла укажите название будущего проекта, например «проект_01.vs» - простенько и со вкусом.

В поле Расположение укажите путь к папке, в которой будет размещен новый проект и его файлы. После нажатия OK появится мастер нового проекта.

91 T.jpg

В этом мастере предлагается назначить базовую 3D-сцену будущего проекта, что мы и сделаем, выбрав из прилагаемых к этому курсу файлов Вашу будущую «любимую» сцену «Новости.3d».

Здесь же предлагается скопировать сцену в папку будущего проекта, а также присвоить ей имя проекта. Почему бы и нет? Пускай все будет располагаться в одном месте.

Если Вы не отметите опцию Скопировать в папку проекта - ничего страшного! Путь к этой сцене запомнится в медиа-папках данного проекта (увидеть его можно в панели свойств, встав в панели Файлы Проекта на пункт Медиа-папки проекта / 3D сцены).

Закрываем мастер и любуемся содеянным. Хотя пока гордиться особо нечем – проект «девственно чист»!.

92 T.jpg

Экшены и инициализация проекта

Но прежде чем мы приступим к «наращиванию мяса на скелет» нашего проекта, разъясним суть объектов с «кинематографическим» названием экшен (от англ. «action» – «действие»).

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

Однако, не пугайтесь: то, что в основе экшенов лежит командный скрипт, вовсе не означает, что Вам для создания полноценного проекта обязательно придется на нем программировать (это надо было делать в предыдущих версиях HA). Для Вас экшены будут являться просто некими «проигрываемыми» объектами с набором изменяемых параметров. (Ну а если Вы когда-либо захотите погрузиться в скрипт – для этого есть специальная документация).

Не откладывая в долгий ящик, исследуем содержимое папки «Экшены» в дереве проекта, кликнув на ней мышью.

93 T.jpg

В правом списке объектов этой папки находится единственный, автоматически созданный экшен - <STARTUP>. Его назначение – иницилизировать проект, т.е. установить сцену в исходное рабочее состояние. Например, назначить активную виртуальную камеру и живое видео, заменить некоторые текстуры, спрятать или сдвинуть какие-то узлы и т.п. Давайте условимся в дальнейшем называть этот специальный экшен просто - «Стартап-экшен» (в целях популяризации русского языка).

Стартап-экшен автоматически проигрывается в следующих случаях:

  1. при переходе из режима Редактирования в режим Эфира;
  2. сразу же после открытия проекта, если приложение в данный момент находится в режиме Эфира;
  3. по командам Запустить Все или Перезапустить Все.

Переименовать или удалить Стартап-экшен нельзя, поскольку этот экшен является системным и не поддается на такие «посягательства».

Тип этого экшена - плейлист (от англ. «playlist»). Экшены данного типа предназначены для проигрывания других экшенов, и подробно мы их рассмотрим в отдельной большой главе. Ну а пока, для ознакомления, откроем этот экшен в панели Редактор, нажав кнопку Редактировать Инициализирующий Экшен 95 T.jpg на тулбаре документа проекта 94 T.jpg


96 T.jpg

Как видите, плейлист Стартап-экшена пуст - а значит никаких действий по инициализации сцены выполняться не будет.

Начнем же постепенно наполнять этот список Стартапа первыми инициализирующими экшенами!

Назначение видеопотока на материал

Начнем с самого главного - назначения видеопотока с реальной камеры на Актера, играющего «главную роль» телеведущего в нашей сцене. В дальнейшем будем называть видео с реальной камеры просто живым видео.

Прежде всего убедимся, что мы знаем имя материала сцены, используемого на объекте Актера. По идее, это имя должен знать дизайнер, делавший сцену. Ну а если этого дизайнера нет под рукой – что делать? Успокоиться и взглянуть на сцену трезво. Ведь для идентификации материала есть целых три способа.

1 Идентификация материала в окне Превью Рендера


Этот способ хорошо подходит для случаев, когда мы знаем, как выглядит искомый материал, а в окне Превью Рендера он хорошо виден. Наш Актер тоже прекрасно виден с любой камеры. А потому наводим мышиный курсор прямо на тело Актера, и смотрим… Нет, не на его реакцию! Мы смотрим, что показывает строка состояния приложения - нижняя полоса главного окна. Там написано: <World>.<Main>.актер (видео_01).

97 T.jpg

Слово, указанное в скобках – видео_01 - и есть имя материала, из которого «сделан» наш телеведущий. А предшествующая цепочка из нескольких слов, разделенных точками - это имена узлов в иерархическом порядке: от верхнего узла-родителя до нижнего дочернего узла, принадлежащего Актеру. В дальнейшем это знание нам пригодится для поисков нужного узла.

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

2 Идентификация материала в списке узлов

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

Увидеть искомое название материала можно в дереве Узлы, включив режим Показывать зависимые объекты 99 T.jpg и полностью раскрыв ветку нужного узла.

В нашем случае найдите и раскройте узел «актер». Уровнем ниже мы увидим имя соответствующего меша (оно всегда совпадает с узлом), а ниже – имя искомого материала «видео_01». Еще ниже идут названия текстурных карт, используемых в данном материале.

98 T.jpg

3 Идентификация материала в списке материалов

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

В документе сцены активируем список Карты и убеждаемся, что панель Превью Медиа видна в приложении. Если нет – используем главное меню или тулбар Вид, чтобы ее показать. В этой панели изучаем изображения текстурных карт-«кандидатов», последовательно кликая на них в списке карт сцены (либо перемещаясь по ним клавиатурной стрелкой). Найдя подходящую по виду карту, изучаем ее имя. Напоминаем, что первая часть имени карты (до точки) – и есть название материала, использующего эту карту.

В нашем случае карта Актера называется «видео_01.Diffuse» - а значит искомый материал называется просто - «видео_01».

100 T.jpg

Итак, долго ли, коротко ли - но материал Актера будет обязательно идентифицирован!


Использование стандартных экшенов

Узнав название материала, проходим на «фабрику» экшенов в панели Новые Объекты. Кликнем на папку Объекты / Экшен / Скрипт – и в нижней части окна немедленно откроется «потайной склад» стандартных экшенов.

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

Для будущих экспертов: файл-проект со стандартными экшенами находится в программной подпапке Common и называется StandardSet_0419.vs (русская версия). В принципе, можно добавлять в этот проект собственные параметрические экшены (но это уже выходит за границы задач данного курса).

Напомним нашу цель: создать и назначить живой видеопоток на материал Актера. Поэтому находим в списке стандартных экшенов объект «Создать Живое Видео», захватываем его мышкой и перетаскиваем в любую часть окна проекта: на свободное место дерева папок или в открытый список проектных экшенов (где сейчас «грустит» одинокий Стартап-экшен).

101 T.jpg

Первым признаком успеха станет появление мастер-диалога Настройка нового экшена:

На его первой странице выбираем живой видеопоток, который мы хотим назначить на материал Актера. Если у нас подключена всего одна реальная камера, то здесь логично выбрать «Живое видео 1», что соответствует идентификатору LIVE_1 в диалоге настроек видео (о названиях и настройке входных видеопотоков см. документ ru_vs_video_v3.01.doc).

102 T.jpg

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

Возможно, здесь кто-то и запаниковал бы – но только не Вы! Ведь имя материала Актера было только что выяснено, и можно уверенно выбирать «видео_01»

103 T.jpg

На последней странице мастера предлагается ввести имя нового экшена – но нас вполне устроит имя, предлагаемое по умолчанию - «Создать Живое видео».

104 T.jpg

Но не торопитесь закрывать диалог, а обратите внимание на опцию-флажок «Добавить в <STARTUP> экшен проекта».

В данном случае мы ставим здесь галочку, поскольку желаем видеть живое видео на материале «безжизненного» Актера немедленно после инициализации проекта (в процессе которой, напоминаем, проигрываются все экшены, добавленные в плейлист Стартап-экшена).

Закончив работу мастера, заглянем в окно проекта - там появился новый экшен «Создать Живое видео»:

105 T.jpg

Более того, этот экшен добавился в плейлист Стартап-экшена. Если последний открыт в редакторе, Вы сразу это заметите.

106 T.jpg

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

107 T.jpg

Проверим наши успехи! Жмем на главном тулбаре Запустить Все 109 T.jpg, что приводит к проигрыванию Стартап-экшена, в который добавлен наш экшен назначения видеопотока. И вот, вместо «замороженного» Актера в виртуальном пространстве сцены появляется Ваше Харизматичное Лицо! (Если, конечно, подключенная видеокамера направлена в Вашу сторону …)

108 T.jpg

Переключение виртуальных камер

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

Одновременное создание экшенов и кнопок

Возвращаемся на знакомый «склад» экшенов (окно Новые Объекты) и находим там стандартный экшен «Изменить Камеру» 110 T.jpg (входит в группу «Изменение Объектов»). Подхватываем его мышкой и отпускаем в окне… Нет, не в окне проекта! На этот раз мы поступим иначе, перетащив экшен непосредственно в окно хотсета (только убедитесь, что оно активно).

Если хотсет по тем или иным причинам скрыт, активировать его окно можно кнопкой Показать Хотсет 111 T.jpg , находящейся на тулбаре окна проекта:

112 T.jpg

Перетащив экшен на хотсет, мы даем знать приложению, что в этом месте мы собираемся создать новую кнопочную панель управления – или, говоря в терминологии HA, хотбар (от англ. «hotbar»). Кнопочная панель является одним из видов так называемых контроллеров.

Контроллер – оконный элемент, размещаемый на хотсете и предоставляющий пользователю интерактивный интерфейс для управления теми или иными элементами сцены или проекта.

Итак, после перетаскивания экшена на хотсет появится знакомый мастер Настройка нового экшена, в котором на первой странице предлагается выбрать будущую активную виртуальную камеру. Выбираем «Камера 01», идем дальше.

113 T.jpg

На следующей странице изменим предлагаемое имя экшена на более конкретное: «Установить Камеру 1». Так же, как и в прошлой главе, установим галочку Добавить в <STARTUP> экшен проекта, поскольку мы хотим, чтобы эта камера была активной сразу же после после инициализации проекта, т.е. по умолчанию.

114 T.jpg

Закрываем мастер, после чего выскочит небольшой диалог Новый объект «Хотбар» с предложением назвать будущий хотбар. Недолго думая, назовем его «Камеры».

115 T.jpg

Теперь можно и порадоваться достигнутому: во-первых, в окне проекта появился новый экшен “Установить Камеру 1” (и добавился в плейлист Стартап-экшена), а во-вторых - на хотсете возникла новая кнопочная панель «Камеры» с пока что единственной кнопкой, одноименной новому экшену. Велико искушение ее немедленно нажать - однако пока потерпим, сделав еще пару кнопок.

116 T.jpg

Вновь захватываем стандартный экшен «Изменить Камеру» из панели Новые объекты, но на этот раз перетащим его не на свободное место хотсета, а прямо на хотбар “Камеры”. Заметим, что когда мышиный курсор проходит над хотбаром, появляется вертикальный маркер вставки, подсказывающий, куда будет вставлена новая кнопка. В данном случае разместим маркер справа от от готовой кнопки.

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

Привычно проходим появившийся мастер-диалог, сначала выбрав в списке камер «Камера 02», а затем изменив имя экшена на «Установить Камеру 2». И вот в окне проекта появляется очередной экшен, а на хотбаре «Камеры» – новая кнопка.

При создании этого экшена взводить галочку Добавить в <STARTUP> экшен проекта не стоит, поскольку в плейлист Стартапа уже был добавлен экшен «Установить Камеру 1». Логика проста: после инициализации проекта активной может быть только одна виртуальная камера. (Теоретически, можно добавить в Стартап сколько угодно экшенов активации виртуальных камер – однако, «победит» всегда последняя в списке)

Для закрепления пройдем еще раз всю нехитрую процедуру для создания экшена и кнопки активации третьей камеры «Установить Камеру 3» (также не добавляя его в Стартап-экшен).

117 T.jpg

Для надежности сохраним проект любым способом: нажав кнопку Сохранить 118 T.jpg на главном тулбаре приложения, через главное меню Файл / Сохранить, либо нажав сочетание <Ctrl-S> на клавиатуре. Выбирайте сами, как Вам удобней.

И вот наконец-то пришла пора проверить нашу систему переключения виртуальных камер – и сделаем мы это, даже не переходя в режим Эфира приложения.

Режим тестирования хотсета

Чтобы оперативно проверить кнопки, не переходя в глобальный режим Эфира, можно перевести хотсет в так называемый режим тестирования, нажав одноименную кнопку 119 T.jpg в его правом верхнем углу.

Так и сделаем. На хотсете пропала сетка, он расширился за счет схлапывания вниз окна проекта, а кнопки начали «отзываться» на проходящий мышиный курсор.

120 T.jpg

Если у хотсета в контекстном меню включена опция Авто-вкл. режима Тестирования, то режим тестирования хотсет автоматически переходит при выполнении команды Запустить Все, а по команде Сбросить Все обратно возвращается в режим редактирования. (Эта опция по умолчанию включена).

121 T.jpg

Ну а теперь произвольно жмем на кнопки переключения камер и от души радуемся разнообразным планам нашей виртуальной студии остранства в окне Превью Рендера:

122 T.jpg 123 T.jpg


124 T.jpg 125 T.jpg


126 T.jpg 127 T.jpg

Выходим из режима тестирования хотсета так же, как и вошли – кнопкой в верхнем правом углу, которая изменилась на Режим Редактирования 128 T.jpg. Если же режим тестирования был включен автоматически (по команде Запустить Все), то «для симметрии» можно нажать на тулбаре Действия кнопку Сбросить Все

Изменение видимости и положения узлов

Изучая общий план студии с первой камеры, Вам вдруг захотелось спрятать логотип в левом верхнем углу кадра, поскольку он явно «переигрывает» нашего Актера, перетягивая внимание на себя.

Однако прежде чем мы будем создавать экшен скрытия логотипа, повнимательнее изучим дерево узлов сцены. Как выясняется, узлов-логотипов у нас целых 3 (три!) – по одному на каждую виртуальную камеру.

129 T.jpg

А это значит, что нам для надежности надо будет прятать все три: чтобы при переключении камер не возникало неожиданных появлений логотипа с веселым криком «А вот и я, Логотип №2!» Чтобы не создавать по отдельному экшену на каждый логотип, мы используем свойство наследованного показа-скрытия узлов.


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

В нашем случае таким общим узлом-родителем для всех трех логотипов (а также всех камер) является узел «Камеры». Сразу развеем опасения по поводу того, что мы, спрятав этот узел, скроем не только все логотипы, но и все виртуальные камеры… Бояться нечего – виртуальные камеры спрятать невозможно, поскольку они не имеют конкретного визуального представления (меша) в окне Рендера.

Создание экшена скрытия узла

В группе стандартных экшенов «Изменение объектов» находим экшен «Изменить Узел» и перетаскиваем его на хотсет.

В мастер-диалоге Настройка нового экшена выбираем в комбобоксе узел «Камеры», ведь именно его мы и будем прятать в нашем новом экшене:

130 T.jpg

На следующей (и последней) странице назовем экшен «Спрятать логотип», хотя это и выглядит несколько странновато - ведь на самом деле мы прячем узел «Камеры»… Но поверьте, это название гораздо точнее отражает отражает функцию нового экшена. Ставить флажок добавления в Стартап проекта можете по своему усмотрению. Если хотите, чтобы по умолчанию логотипа не было видно – сделайте это.

В ответ на финальное предложение назвать новый хотбар вводим имя «Логотип».

И вот, в проекте появился новый экшен, а на хотсете - новая кнопка на отдельном хотбаре. Однако, проверять ее рановато – ведь в мастер-диалоге нас не спрашивали, что именно мы хотим сделать с выбранным узлом (а хотим мы его спрятать!). На этот раз установку необходимых нам параметров мы произведем в свойствах экшена.

Свойства назначенного на кнопку экшена можно быстро открыть следующим образом: сначала становимся мышью на кнопку хотбара (вокруг кнопки появится серая рамка «фокуса»), а затем в панели Свойства активируем вкладку Экшен. Режим тестирования хотсета должен быть выключен, иначе кнопка попросту нажмется и выполнит экшен - и никаких ее свойств Вы не увидите.

131 T.jpg

Теперь в списке параметров экшена выделим мышью строку с параметром Спрятать и, наведя курсор на колонку Значение, выберем в комбобоксе «Да».

132 T.jpg

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

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

Проигрываем экшен «Спрятать логотип» - и логотип моментально телепортируется в виртуальный астрал (т.е. пропадает из виду). Притом его не видно даже при переключении на другие виртуальные камеры.

Кстати, проиграть экшен можно не только нажав кнопку на хотсете в режиме Эфира или тестирования, но и другими способами:

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

Продолжаем, не мигая, смотреть в окно Превью Рендера. Вот уже покраснели глаза, от тоски защемило сердце – но логотип явно не спешит появляться обратно…Вернем-ка мы его на старое место принудительно!

Для этой цели мы создадим экшен, функционально обратный экшену «Спрятать логотип». На этот раз, в целях освоения новой техники, мы не станем пользоваться стандартным экшеном «Изменить Узел», а применим метод дублирования экшена с помощью стандартного буфера обмена.

Создание обратного экшена методом дублирования

Скопируем экшен «Спрятать логотип» в буфер обмена, выделив его мышкой, а затем нажав <Ctrl-C> (либо выполнив команду Копировать его контекстного меню). И сразу же выполним вставку с помощью <Ctrl-V> (или командой меню Вставить). В папке экшенов проекта рядом с экшеном «Спрятать логотип» появился его клон - экшен «Спрятать логотип01».

133 T.jpg

Встанем на сдублированный экшен и поменяем его свойства. Значение параметра Спрятать меняем на «Нет», а в поле Имя вводим более осмысленное «Показать логотип». Любым способом проигрываем экшен и… О, чудо, пропавший логотип вновь радует глаз! (Точнее, правую верхнюю часть глаза.)

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

134 T.jpg

А теперь переводим хотсет в режим тестирования и, попеременно нажимая кнопки на хотбаре, играем с логотипом в прятки два часа подряд!

Внимание! Два часа – это только для сильно увлеченных исследователей! Для особо занятых достаточно и нескольких кликов…

Цель достигнута, но тут особо дотошный Оператор Показа Логотипов воскликнет: «А почему картинки на обеих кнопках одинаковые? Функция же у них – разная!». Претензия принимается, однако это мы исправим позже, когда займемся улучшением внешнего вида и эргономики среды управления сценой…

Изменение положения узла (трансформация)

То ли произошла вспышка на Солнце, то ли в Вашей голове - но в результате Вы неожиданно осознали: Актер сидит на сильно низкой табуретке, и его надо чуть приподнять. Бросаем все и кидаемся поднимать нашего Актера! (Надеемся, он сегодня еще не обедал)

Однако, прежде чем создавать экшен изменения положения, уточним имя нужного нам узла. Для этого используем простой способ наведения мыши на изображение в окне Превью Рендера. Итак, если курсор наведен на Актера, строка состояния приложения показывает <World>.<Main>.актер (видео_01).

135 T.jpg

Вы уже знаете что в скобках указано название материала Актера - «видео_01». А ему предшествует искомое имя узла - «актер». (Все предшествующие имена, разделенные точками – имена родительских узлов, в иерархическом порядке).

Уточнив имя узла Актера, приступим делу. Освоенным ранее способом на основе стандартного экшена «Изменить Узел» создаем новый экшен «Сдвинуть Актера», выбрав на первой странице мастер-диалога узел «актер».

Далее в свойствах созданного экшена находим параметр Трансформировать и устанавливаем значение «Да». После этого параметры Сдвиг, Поворот и Масштаб станут доступными для изменения значений.

Выделяем параметр Сдвиг и наводим мышь на колонку Значение. Появляется тройное поле ввода смещений, соответствующих осям Х, Y, Z.

Поскольку мы хотим сдвинуть Актера вверх по вертикали, будем менять значение третьего поля Z. Задайте там пробное число, например «1». Проигрываем экшен и понимаем, что это слишком много (к тому же Актер оказался безногим, а это выглядит довольно печально). Подбираем значение сдвига, каждый раз проигрывая экшен, пока новое положение Актера не покажется Вам идеальным.

136 T.jpg

Значения числовых параметров можно вводить как с использованием клавиатуры, так и вращая среднее колесо мыши – при этом поле ввода обязательно должно быть в фокусе.

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

137 T.jpg







Сброс трансформации

После любой трансформации одного или нескольких узлов (в нашем случае Актера), может возникнуть естественный вопрос: а как при необходимости сбросить все изменения? Поступаем в зависимости от требуемой задачи.

Вариант 1: Необходимо сбросить ВСЕ узлы сцены.

Для этого существует несколько способов, выбирайте по вкусу:

1. Нажать кнопку Сбросить Все 138 T.jpg на тулбаре Действия.

Кнопка Сбросить Все появляется только после нажатия кнопки Запустить Все 139 T.jpg , заменяя ее собой. Имейте в виду, что при выполнении этой команды не только сбрасываются трансформации всех узлов, но и останавливаются видеопотоки, проигрывание анимации; восстанавливаются умолчательные текстуры материалов и т.п.

2. Нажать <Ctrl-R> в окне документа сцены или в панели Превью Рендера.

3. Выполнить команду Сбросить трансформацию узлов, которая находится в контекстном меню, вызываемом на свободном месте списка узлов сцены:

140 T.jpg

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

141 T.jpg

Вариант 2: Требуется сбросить конкретный узел

Для этого также имеется несколько способов:

1. Использовать команду Сбросить трансформацию контекстного меню выбранного узла

142 T.jpg

2. Нажать кнопку Сбросить снизу панели свойств выбранного узла.

143 T.jpg

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

144 T.jpg

Ручное добавление экшена в Стартап

Вам настолько понравилось «приподнятое» состояние Актера, что возникло непреодолимое желание сделать его таковым по умолчанию. Но в процессе создания экшена «Сдвинуть Актера» Вы не включили опцию добавления в Стартап проекта. Ну и не страшно - добавим этот экшен в плейлист Стартапа вручную.

Убедимся, что Стартап-экшен открыт в панели Редактор. Если же нет - откроем его кнопкой Редактировать Инициализирующий Экшен 145 T.jpg , находящейся на тулбаре документа проекта. А теперь попросту затащим мышью экшен «Сдвинуть Актера» из окна проекта прямо в плейлист Стартап-экшена.

146 T.jpg

Как только экшен появится в плейлисте, жмите кнопку Сохранить в нижней части панели редактора, дабы зафиксировать изменения в Стартап-экшене.

Теперь при инициализации проекта Актер будет занимать предписанное ему положение. Если не верите, закройте проект, подтвердив сохранение изменений в файле проекта, затем откройте снова и нажмите Запустить Все 147 T.jpg . Актер «кааааак прыгнет» в нужную позицию!

Изменение свойств прочих объектов сцены

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

148 T.jpg

Сначала перетащите в проект стандартные экшены «Изменить Источник Света» и «Изменить Материал» (что касается экшенов изменения камер, так они были созданы еще в Главе 6). Затем, меняя значение различных параметров в их свойствах, наблюдайте за результатом (и не забывайте каждый раз проигрывать экшен с измененными значениями, а то ничего не увидите!).



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


149 T.jpg

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

Проигрывание анимационных трэков

В этой главе мы займемся проигрыванием анимации узлов – или их анимационных трэков.

Сразу предупреждаем: анимационные трэки для тех или иных узлов создаются еще на этапе подготовки сцены в 3D-редакторе (Autodesk 3DS Max). Если никаких трэков в сцене не сделано – то и проигрывать будет нечего.

Определять узлы, имеющие собственную или вложенную анимацию, мы научились еще в главе 3, по желтым и зеленым стрелочкам в списке узлов документа сцены. Это знание нам сейчас и пригодится.

Проигрывание заданного фрагмента трэка

Для начала попробуем сделать наезд первой камерой на Актера.

Если «Камера01» в данный момент не является активной – активируйте ее нужной кнопкой на хотбаре или двойным кликом в списке камер сцены (все это Вы должны хорошо уметь делать, если не прогуливали предыдущие уроки).

Активируем документ сцены «Новости.3d» и внимательно изучим дерево его узлов. Первое, что бросается в глаза – это желтая стрелочка на узле «<Main>» . Отсюда мы делаем вывод, что «<Main>» имеет вложенную анимацию, т.е. анимацию дочерних узлов

Возможно, для анимации камеры достаточно просто проиграть всю вложенную анимацию узла «<Main>» ?


Проверим: встанем на этот узел и подвигаем слайдером проигрывателя документа сцены, наблюдая за движениями объектов в Превью Рендера. Действительно, наша камера оживает – но, помимо нее, двигается, так скажем, много чего лишнего... Поэтому обратим внимание на узел с зеленой стрелкой более низкого уровня - «Узел01» - ведь его непосредственным «ребенком» является камера «Камера01». Кликаем на нем в дереве узлов, двигаем слайдер и убеждаемся, что двигается только нужная камера и более ничего лишнего. Значит трэк именно этого узла «Узел01» мы и будем проигрывать.

150 T.jpg

Но прежде чем броситься создавать экшен проигрывания, определим границы: с какой по какую временную позицию мы будем проигрывать трэк. Движение начинается с нулевой позиции, поэтому достаточно определить только конечную позицию, что мы и проделаем с помощью слайдера проигрывателя. Медленно двигаем слайдер вправо, наблюдая за перемещением камеры, пока ее плавный наезд на Актера не закончится. (Напомним, что текущая позиция отображается в индикаторе справа от слайдера.)

Когда слайдер находится в фокусе мыши, более точно перемещаться по трэку можно с помощью клавиатурных стрелок влево-вправо – в этом случае мы сдвигаемся ровно на один кадр в соответствующую сторону.

Итак, мы видим, что через две с небольшим секунды начальное поступательное движение камеры приостанавливается. Уточнив кадр, фиксируем для себя, что конечной позицией фрагмента трэка камеры будет «00:00:02:10». Можете скопировать это значение из окошка индикатора позиции в буфер обмена, выделив цифры двойным кликом мыши и нажав <Ctrl+C>.

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


На первой странице мастер-диалога выбираем в списке узлов требуемый «Узел01», идем дальше...

151 T.jpg


Далее предлагается выбрать, какую именно команду проигрывания мы хотим выполнить. По умолчанию стоит Проиграть, что нам и нужно. (Можете на будущее просмотреть список всех доступных команд – в принципе, их смысл интуитивно ясен).

152 T.jpg


На последующих двух страницах предлагается ввести начальную (In) и конечную (Out) временные позиции трэка.

На первой странице оставляем «00:00:00:00», ведь наш анимационный трэк начинается именно с этого момента

153 T.jpg


На второй станице вводим с клавиатуры или накручиваем колесиком мыши значение «00:00:02:10».

Если же Вы ранее предусмотрительно cкопировали это значение в буфер обмена, то здесь его самое время вставить с помощью <Ctrl+V>.

154 T.jpg


На последней странице введем имя экшена «Наезд камеры 1» - и вот очередная кнопка добавилась на хотбар «Камеры»:

155 T.jpg

Переводим хотсет в режим тестирования, жмем «Наезд Камеры 1» и убеждаемся, что камера начинает движение с общего плана студии и останавливается на крупном плане Актера (тем самым предоставив нам возможность полюбоваться дефектами сделанного наспех телевизионного грима).

Вот мы и наехали на Актера (в лучшем смысле этого слова)!. Не сомневаемся, что после этого зразу захочется сделать кнопку для запуска обратного движения, дабы в случае необходимости вновь вернуться на общий план студии.

Проигрывание трэка в обратную сторону

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

Итак, копируем в буфер обмена экшен «Наезд камеры 1» и сразу же делаем вставку.

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

156 T.jpg

Теперь, в свойстах этого экшена, мы развернем трэк в обратную сторону.

Чтобы развернуть проигрывание анимационного трэка в обратную сторону, есть два способа:

1. поменять местами значения начальной и конечной позиции.

2. изменить значение параметра Скорость на противоположное по знаку.

Второй способ хоть и менее очевидный - зато более быстрый. Им мы и воспользуемся, вручную добавив минус в поле значения параметра скорости проигрывания.

157 T.jpg

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

Перетаскиваем экшен на хотбар «Камеры», создав кнопку справа от кнопки запуска наезда (и в самый последний, 1001-й раз напомним: режим тестирования хотсета при создании\изменении хотбаров должен быть выключен).

158 T.jpg

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

Остановка проигрывания

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

Давайте сделаем экшен остановки первой камеры на основе экшена «Наезд Камеры 1». Дублируем этот экшен (<Ctrl-C>, <Ctrl-V>), затем меняем в свойствах его имя на «Остановить Камеру 1», а значение параметра Команда - с «Проиграть» на «Остановить». Как видите, прочие параметры опций проигрывания стали серыми – это значит, что при команде остановки они не используются.

159 T.jpg

Создаем кнопку на хотбаре «Камеры», затянув туда экшен остановки. Проверяем: запускаем «Наезд камеры 1» и через секунду жмем кнопку «Остановить камеру 1». Если все сделано правильно, камера останавливается, как вкопанная, примерно на середине своего пути.

160 T.jpg

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

Проигрывание до заданной позиции

Для начала проясним отличие команды проигрывания до позиции от команды проигрывания фрагмента трэка, которую мы использовали до этого.

Команда проигрывания до позиции использует только один параметр – конечную позицию, до которой должен доиграть трэк. А в качестве же начальной позиции всегда выступает текущая; притом не важно, остановлен сейчас трэк или проигрывается. Если на момент выполнения команды заданная позиция уже пройдена, трэк может начать проигрывание в обратную сторону, чтобы все-таки прийти в эту позицию. Если трэк уже находится в заданной позиции, то при выполнении команды никакого движения не произойдет – ведь конечная цель достигнута.

Чтобы прочувствовать особенности этой команды на практике, мы, не создавая новых объектов, попросту поменяем параметры экшенов, запускающих наезд и отъезд первой камеры. В экшене «Наезд камеры 1» сначала скопируем в буфер значение параметра Конец, а затем выберем команду «Проиграть до позиции». После этого параметр Позиция станет разрешенным, куда мы и вставим скопированное значение «00:00:02:10».

159 T.jpg

А в экшене «Отъезд Камеры 1» достаточно изменить только саму команду, не меняя значение позиции: ведь по умолчанию она нулевая, что нам и требуется. Отрицательное значение скорости движения тоже можно не менять, т.к. проигрывание до позиции все равно осуществляется «по кратчайшему пути» и принудительно заданное направление движения игнорируется.

159 T.jpg

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

Мгновенная установка в позицию

В списке возможных команд проигрывания анимационного трэка осталась последняя – Установить позицию. Если Вы освоили проигрывание трэка до заданной позиции, понять эту команду будет очень легко.

Команда Установить позицию мгновенно устанавливает трэк в заданную позицию, вне зависимости от текущего состояния проигрывания.

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

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

Зацикленное проигрывание

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

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

Используя предыдущий опыт, сделаем экшен «бесконечного» проигрывания для нашего первого логотипа. В мастере нового экшена выберем узел «логотип01», а фрагмент проигрывания установим «00:00:01:15», т.к. именно за это время логотип совершает один полный оборот. Экшен назовем «Вращать логотип01», а в его свойствах установим у параметра Зациклить значение «Да».

161 T.jpg

Имейте в виду, что зацикленный трэк можно остановить или общим сбросом Сбросить Все, или специально созданным для этой цели стоп-экшеном.

Так что на всяких случай можете сразу создать стоп-экшен «Остановить логотип», тем более делать это Вы уже научились.

Если экшен «Вращать логотип» добавить в Стартап, первый логотип начнет свое бесконечное вращение немедленно после инициализации проекта. Но пока не спешите это делать, всему свое время …

* Независимость трэка от проигрывания родительским узлом

И, в завершении темы анимационных трэков, важная заметка на будущее.

Ранее Вы могли убедиться, что по умолчанию проигрывание трэка любого узла вызывает проигрывание вложенных трэков - т.е. трэков дочерних узлов, если они есть. Однако могут возникнуть ситуации, когда Вы хотите, чтобы какие-то вложенные трэки не проигрывались, т.е. были независимыми от «родителя». Например, Вы хотите проиграть трэк узла-«родителя» первой камеры «Узел01», но чтобы при этом анимация логотипа, являющегося для него «ребенком», не проигрывалась.

Чтобы сделать анимационный трэк узла независимым от проигрывания его узла-«родителя», нужно создать для этого узла экшен типа «Изменить Узел» и в его свойствах установить у параметра Анимация значение «Не проигрыватся родителем».

162 T.jpg

Такие экшены рекомендуется добавлять в Стартап проекта, чтобы нужные узлы приобретали свойство сразу же после инициализации. Если таких узлов много, то, чтобы не создавать для каждого из них отдельный экшен, используйте группы, о которых будет подробно рассказано в Главе 13.

Назначение файлов изображений на текстурные карты материалов

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

Типы используемых текстурных карт

Активируем документ сцены и взглянем на список материалов, включив режим Показать зависимые объекты 163 T.jpg. Карты, используемые в текстурированных материалах, всегда будут отображаться уровнем ниже.

164 T.jpg

Название каждой карты состоит из двух частей, разделенных точкой: первая часть – это имя материала, а вторая – тип карты.

Нетрудно заметить, что чаще встречается карта типа Diffuse (Рассеянная), и реже – Reflection (Отражательная). Нам будут наиболее интересны именно Рассеянные карты (несмотря на подозрительное название).


Diffuse (Рассеянная) карта определяет видимое на материале основное изображение, поэтому для простоты будем называть ее - основная карта; прочие карты будем считать дополнительными, к которым относятся:

1. Relfection (Отражательная) карта, определяющая изображение отражения поверхности объекта;

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

В 3D-сценах виртуальной студии можно задать только одну дополнительную карту, т.е. максимальное количество карт – это две.

Создание экшена изменения карты

Для начала идентифицируем материал виртуального монитора, как было описано в Главе 5: наводим мышку на его изображение в окне Превью Рендера и читаем слово в скобках в строке статуса приложения – это «видео_02».

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

165 T.jpg


Итак, перетаскиваем экшен «Изменить Текстурную Карту» в окно проекта и на первой странице мастер-диалога выбираем карту «Видео_02.Diffuse».

166 T.jpg

Далее Вам предстоит выбрать файл изображения для использования в качестве текстуры карты. Жмем кнопку с тремя точками (не подумайте ничего дурного!) в правой части строки ввода, что приводит к появлению стандартного диалога выбора файла. Выбираем графический файл, который мы собираемся использовать в качестве заставки.

167 T.jpg

В нашем случае используем Проект\Картинки\новости1.jpg. Если на этой странице мастер-диалога не указать никакого файла, а пойти дальше, то основная текстурная карта материала останется без изменений.

На финальной странице назовем экшен «Заставка на монитор» и поставим галочку на добавление в Стартап-экшен, чтобы наша заставка возникала на виртуальном мониторе сразу после инициализации.

Ну вот и все. Проигрываем новый экшен и радуемся, что за спиной Актера экран монитора засветился нашей свежей заставкой.

168 T.jpg

Можете сделать еще пару аналогичных экшенов для показа других картинок - например, дублированием и последующим изменением параметра Карта в свойствах экшена. Создайте необходимые кнопки на отдельном хотбаре хотсета (а это Вы умеете делать идеально) и, нажимая их в соответствии с настроением, меняйте заставки на экране виртуального монитора!

169 T.jpg

И в заключении этой темы, небольшой, но важный совет:

Если, спустя время, Вам захочется вернуть прежнюю картинку текстурной карты, используйте в вышеописанном экшене параметр «По умолчанию», присвоив ему значение «Да»:

170 T.jpg

Назначение видеофайлов на материалы и управление их проигрыванием

Посмотрим в окно нашей виртуальной новостной студии – за ним застыл какой-то ночной город. А не заменить ли нам этот изрядно поднадоевший статический вид на впечатляющий динамический пейзаж?

Сразу заметим, что техника назначения видеофайла на материал сцены сильно отличается от недавно освоенного метода назначения статических картинок. Но успокоим: производимые операции очень похожи на назначение видеопотока на материал (Глава 5) и проигрывание анимационных трэков (Глава 8). Просто в данном случае видеопоток «потечет» не из подключенной к компьютеру реальной камеры, а из видеофайла, уютно расположившегося на Вашем объемистом Диске…

Создание и назначение файлового видеопотока

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

171 T.jpg


На первой же странице мастер-диалога предлагается ввести имя видеопотока, что может вызвать легкое замешательство. На самом деле все просто: это символическое имя мы будем использовать в экшенах проигрывания, чтобы абстрагироваться от конкретного имени видеофайла (ведь оно может быть впоследствии изменено).

Назовем будущий видеопоток «поаутентичней», например «Лес».

172 T.jpg


Далее появляется страница выбора видеофайла. Возникающий файловый диалог предлагает выбрать видеофайл стандартного типа: .AVI, .MPEG или .WMV.

Выберем наиболее динамичное видео, которое есть в нашей обучающей видеоколлекции – Лес.avi. На фоне шатающихся во все стороны сосен наш субтильный Актер будет смотреться гораздо более героически.

173 T.jpg

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


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

174 T.jpg

Создание видеопотоков в реальном времени может привести к так называемым выпадающим кадрам («drop-frames»). Этот эффект выглядит как кратковременное «замораживание» картинки в окне Превью Рендера.


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

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

175 T.jpg

Проигрывание файлового видеопотока

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

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

176 T.jpg

На следующей странице вводим имя, которое было присвоено видеопотоку при создании, т.е. «Лес».

177 T.jpg

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

178 T.jpg

На следующей странице выбираем материал, на котором будет проигрываться наше видео. Технологию определения имени материала мы уже проходили, поэтому сразу сообщим правильный ответ: материал окна называется «Окно». Его то мы и выбираем в комбобоксе.

179 T.jpg

Завершаем мастер, на последней странице назвав новый экшен «Показать лес».

По горячим следам сразу создадим экшен постановки видео на паузу (чтобы иногда давать ветру подкопить сил для более активного раскачивания сосен), а также экшен остановки. Дважды дублируем экшен «Показать лес» и в свойствах экшенов-клонов меняем их имена на «Убрать ветер» и «Убрать лес», а команды – соответственно, на «Пауза» и «Остановить»:

180 T.jpg


181 T.jpg

Обратите внимание на параметры Восстановить карту и Ждать остановки.

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

1. если используется команда Остановить;

2. если используется команда Проиграть и установлен параметр Ждать остановки Кстати, в этом случае кнопка, назначенная на экшен, на время проигрывания видео будет оставаться прожатой.


Рядом с кнопкой «Показать лес» создаем еще парочку, перетащив на хотбар «Пейзаж за окном» экшены паузы и остановки. Нажимаем Запустить Все и вальяжно прожимаем кнопки управления Лесом, воображая себя если не Властелином Мира, то как минимум, Директором Лесных Массивов.

182 T.jpg

Улучшение интерфейса управления сценой

Взглянем на хотсет нашего постоянно развивающегося проекта. Если Вы все делали в соответствии с рекомендациями, он может выглядеть примерно так:

183 T.jpg

Не правда ли, довольно однообразно? Линейные ряды кнопок, одинаковые иконки, весьма условно соответствующие выполняемым командам… Вывод напрашивается сам собой: нужно все бросить и срочно заняться улучшением внешнего вида хотсета – нашего интерфейса управления сценой!

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

Группировка кнопок разделителями

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

Для примера отделим разделителем кнопку «Наезд камеры 1», находящуюся на хотбаре «Камеры», от остальных. Сначала выделяем мышью кнопку, перед которой мы хотим вставить разделитель (вокруг выделенной кнопки должна появиться тонкая серая рамка). Затем вызываем ее контекстное меню и выбираем команду Вставить Разделитель, либо попросту жмем на клавиатуре <Ctrl+Insert>.

184 T.jpg

Аналогичным образом вставим еще один разделитель перед кнопкой «Установить камеру 2»:

185 T.jpg

Можете вставить разделители и в других хотбарах. Обратите внимание на следующее:

Команда вставки разделителя не работает, если разделитель уже вставлен слева от кнопки, либо кнопка является в хотбаре первой слева.

Если Вы хотите удалить разделитель – сначала выделите его мышью, а затем используйте команду Удалить контекстного меню, либо попросту клавишу <Delete>.

Чтобы хотбары не выглядели черезчур длинными, можно менять их размер мышью так же, как Вы меняете размер обычных окон – при этом кнопки будут переноситься на другую строку.

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

Например, вот что произойдет, если уменьшить горизонтальный размер хотбара «Камеры».

186 T.jpg

Перемещение кнопок на другие хотбары

А теперь еще раз критически осмотрим хотбар «Камеры»: несмотря на то, что кнопки управления движением камеры отделены разделителем, все-таки имеет смысл разместить их на отдельном хотбаре (по идейным соображениям). Давайте так и поступим.

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

1. Использование контекстного меню хотсета:

В контекстном меню хотсета выполните команду Новый контроллер…. Появится диалог выбора типа контроллера, в котором нужно выбрать Хотбар:

187 T.jpg 188 T.jpg

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

2. Использование панели «Новые Объекты»:

Активируйте панель Новые Объекты и раскройте ветку Контроллеры, чтобы увидеть все доступные в HА типы контроллеров.

Перетащите объект «Хотбар» на то место хотсета, где вы хотите его создать, затем введите желаемое имя – и вот он, новый хотбар!

189 T.jpg

Мы рекомендуем освоить оба способа и в дальнешем выбирать по ситуации.

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

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

Вот что у нас получилось после перемещения кнопок:

190 T.jpg

И еще замечание по поводу манипуляций с хотбарами и другими контроллерами:


Если в процессе работы Вы хотите переименовать, удалить или скопировать целый контроллер - используйте его контекстное меню, которое вызывается правым кликом мыши на заголовке. При левом клике на заголовке активируются свойства хотбара.

191 T.jpg

Итак, теперь Вы можете смело «перелопатить» расположение хотбаров и кнопок, что наверняка улучшит Ваш хотсет. Однако картинки на кнопках, не вполне адекватные выполняемым командам, по-прежнему не очень радуют… Давайте же повысим коэффициент радости, используя в нашем интерфейсе управления более подходящие иконки!

Назначение иконок

Активируем в приложении панель Иконки. Основное ее назначение – выбор иконок для назначения на кнопки хотбаров или экшены. Разобраться в кнопках тулбара этой панели довольно просто – достаточно прочитать всплывающие подсказки и попробовать нажать каждую кнопку. Не бойтесь, ничего не испортите.

192 T.jpg

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

Обратите особое внимание на маленькие иконки типа таких, как на следующем рисунке - их имена начинаются с «ov.». Это – иконки, рекомендуемые для использования в качестве оверлеев (от англ. «overlay») - т.е. изображений, накладываемых поверх основных иконок.

193 T.jpg

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

Как правило, основные иконки представляют собой символы каких-либо объектов (узлы, камеры, картинки и т.п.), а оверлейные – символы операций, которые можно применить к объектам (проиграть, изменить, сдвинуть и т.п.).

Иконки оверлеев также назначаются простым перетаскиванием на нужную кнопку, но с удержанием клавиши <Shift> на клавиатуре.

Жесткие рекомендации по выбору иконок давать не будем, поскольку оформление - это дело Вашего вкуса. Но на всякий случай, имейте в виду: иконки имеют английские имена, соответствующие рекомендованным командам; а эти имена видны при включении на тулбаре панели иконок режима Текстовые подписи 194 T.jpg.

К примеру, после назначения иконок в соотвествии с логикой выполняемых команд, хотсет может принять следующий вид:

195 T.jpg

В принципе, в этой точке повествования можно перейти к следующему пункту главы – «Изменение свойств хотбаров»; но если Вы хотите более детально разобраться, откуда приложение считывает эти иконки, как устроена их коллекция, и как добавить в нее собственные изображения - дочитайте этот раздел до конца.

Раскройте комбобокс в левой части тулбара панели Иконки и просмотрите его список сверху донизу. Первым основным деревом является папка Стандартные Иконки, а вторым – Иконки проекта, при выборе которого в окне панели отображаются иконки, уже назначенные на кнопки (кстати, при назначении они автоматом копируются в подпапку проекта Icons)

196 T.jpg

В окне всегда отображается содержимое текущей выбранной папки и всех ее подпапок. Таким образом, на самом верхнем уровне дерева (в корне) мы видим все доступные иконки.

Заметьте, что сразу же под папкой Стандартные иконки расположена папка, именем которой является файловый путь, оканчивающийся на «…Сommon\Icons». Оттуда «произрастает» дерево подпапок, полностью повторяющее структуру файловых папок по пути <папка с HotActions30.exe>\Common\Icons. Можете убедиться, что в этих файловых папках находятся файлы изображений типа Windows Icon (.ico) или Windows Bitmap (.bmp, с поддержкой прозрачности), которые мы и видим в окне панели

Вы можете создать в Сommon\Icons свои собственные подпапки с .ico или .bmp -файлами, таким образом пополняя стандартную коллекцию иконок приложения.


В качестве источника иконок можно использовать и папки, созданные в других местах. Для этого зайдите через главное меню или тулбар Действия в Общие Настройки приложения и на вкладке Общие Медиа-папки выберите в комбобоксе тип медиа Иконки. Затем добавьте в нижний список дополнительные папки с иконками, используя кнопку 197.1 T.jpg. Каждая добавленная в список файловая папка появится в панели Иконки вместе со своими подпапками в дереве Стандартные иконки, а ее содержимое станет доступным для выбора изображений:

197 T.jpg 198 T.jpg

Если какая-либо файлового папка, включая все ее подпапки, не содержит ни одного файла изображения, эта папка не будет добавлена в вышеописанное дерево папок панели.

Измененение свойств хотбаров

Эту тему по большей части Вам предлагается проработать самим. Отобразите свойства любого хотбара, кликнув на его заголовке, и откройте вкладку Хотбар, которую стоит внимательно изучить.

199 T.jpg

Краткие комментарии по каждому элементу свойств хотбара:

Флажок Изображение – позволяет отключить использование картинок на кнопках, оставив на них только текст.

Комбобокс Аспект - выбор соотношения сторон кнопок (по умолчанию кнопки квадратные).

Флажок Прозрачность – включает\выключает использование альфа-канала (прозрачности) у иконок типа Windows Bitmap (.bmp). На файлы Windows Icon (.ico) эта опция не распространяется - у них прозрачность используется всегда.

Ширина, Высота – высота используемых иконок в пикселах. Если выбран аспект Другой, можно ввести еще и ширину; при выборе прочих стандартных аспектов ширина устанавливается автоматически.

Оттенок – смещение цветового тона всех иконок хотбара.

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

Флажок Текст – позволяет отключить использование текстовых подписей на кнопках, оставив только картинки.

Комбобокс Место – выбор расположения текста относительно иконки.

Флажок Шрифт – включает использование пользовательского шрифта, который можно выбрать кнопкой Изменить(появится стандартный диалог выбора шрифта).

В листе Порядок кнопок можно не только поменять текущий порядок кнопок (перетаскиванием мышью), но и выполнить стандартный ряд операций редактирования с помощью контекстного меню или клавиатурных команд.

В процессе рассмотрения свойств хотбара смело экспериментируйте. Главное - не забывайте жать кнопку Применить! Если запутались и хотите вернуть все обратно – используйте команду главного меню приложения Правка / Отменить или сочетание <Ctrl+Z>

Заголовки контроллеров

Несколько слов про оконные заголовки контроллеров, в которых отображаются их названия. В некоторых случаях наличие заголовков Вам может показаться излишним. Ну что же, хозяин – барин. Спрятать заголовок очень просто.

Активируем в свойствах хотбара первую вкладку Контроллер. Здесь доступны сразу две опции отображения заголовка: либо прятать его только в режиме Эфира (в т.ч. режиме тестирования), либо не показывать его никогда.

200 T.jpg

Однако полностью отключать заголовок (вторая опция) именно для хотбаров мы не рекомендуем – ведь в этом случае их перемещение по окну станет проблематичным.

Для примера можете отключить заголовки в режиме Эфира у пары хотбаров, например «Логотип» и «Виртуальный монитор».

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

201 T.jpg

Назначение фона на хотсет

Возможно, Вам кажется скучной темно-серая подложка хотсета, и Вы хотите использовать свой собственный фон. Ну что, же нет проблем!

Выбираем в контекстном меню хотсета команду Изменить фон…, после чего видим следующий диалог, Выбор Фона:

202 T.jpg


203 T.jpg


Использование диалога достаточно «прозрачно» для понимания. В случае выбора равномерной цветовой заливки, кликните на цветной кнопке и назначьте другой цвет в стандартном диалоге выбора цвета. А если хотите использовать файл изображения – кликните кнопку 204.1 T.jpg, затем выберите с помощью файлового диалога файл типа Windows Bitmap и укажите способ отображения картинки - Мозаика или Растянуть.

204 T.jpg

Для примера назначим в качестве фона графический файл Картинки\подложка.bmp и установим режим отображения Растянуть.

В режиме Растянуть изображение заполняет собой всю видимую область хотсета, не сохраняя оригинального размера и соотношения сторон. То же самое происходит и при переходе в режиме Эфира: границы окна хотсета адаптируются под расположение всех хотбаров, а фоновое изображение опять масштабируется в соотвествии с новым размером окна

Итак, после назначения фона с режимом Растянуть, в основном режиме Редактирования окно хотсета может выглядеть так (сужено по горизонтали):

205 T.jpg

…а в режиме Эфира – вот так (еще более сужено):

206 T.jpg

Режим подгона окна хотсета под фоновое изображение

Глядя на то, как искажается изображение, возможно, Вы захотите сохранить оригинальный размер изображения - т.е. сделать так, чтобы границы окна хотсета подстраивались именно под фоновую картинку, а не под эффективный охват хотбаров.

Для этой цели в контекстном меню хотсета существует опция Подогнать окно под размер фона.

207 T.jpg

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

208 T.jpg

Как видите, область за границами фонового изображения для наглядности отображается серым цветом. А когда мы переходим в режим Эфира, хотсет приобретает следующий вид:

209 T.jpg

Видно, что окно хотсета в режиме Эфира аккуратно охватывает изображение пиксел в пиксел, при этом не сильно «заботясь» о видимости хотбаров – а поэтому хотбары

«Подвижная камера» и «Стационарные камеры» оказались чуть срезанным. Вывод напрашивается сам собой:

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

Проигрывание экшенов с помощью плейлистов

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

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

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

Яркий пример плейлист-экшена - это Стартап-экшен проекта, ведь при его запуске проигрываются экшены инициализации конкретных объектов сцены.

Последовательное проигрывание экшенов

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

Для начала создадим пустой плейлист. И как всегда, для этого есть несколько способов.

Первый способ: в окне Новые Объекты находим объект «Плейлист» и затягиваем его в окно проекта.

210 T.jpg


Второй способ: в списке экшенов проекта (правая часть окна) вызываем контекстное меню на свободном месте и выбираем команду Новый объект. После этого в диалоге будет предложено выбрать тип нового экшена, где Вы должны выбрать тип Плейлист.

211 T.jpg


212 T.jpg

Создать новый объект в окне списка объектов проекта можно не только командой контекстного меню, но и нажав <Insert> на клавиатуре; либо попросту дважды кликнув мышью на свободном месте списка.

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

213 T.jpg

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

Теперь необходимо перенести мышкой из окна проекта экшены, которые мы хотим последовательно проиграть, прямо в список объектов плейлист-экшена, открытого в редакторе. Можно затянуть экшены в список и по одному, но мы поступим эффективней: сначала выделим в окне проекта необходимые экшены, используя зажатый на клавиатуре <Ctrl>, а затем целой «пачкой» перенесем их в список плейлиста.

214 T.jpg

Имейте в виду, что экшены, только что добавленные в плейлист, по умолчанию будут проигрываться последовательно. Об этом говорит последняя колонка плейлиста Ждать: для каждого экшена по умолчанию выставлено значение Конец, что означает: ждать конца проигрывания этого экшена, прежде чем проигрывать следующий. Эта опция особенно актуальна для экшенов, имеющих продолжительное время выполнения (например, проигрывание анимационных трэков).

215 T.jpg

Как видите, сразу после перетаскивания экшенов в плейлист их порядок оказался некорректным.

Установим нужную нам последовательность, перемещая экшены мышью вверх или вниз, либо используя кнопки тулбара редактора со стрелками.

216 T.jpg

Между делом, важное замечание:

Избегайте добавления в плейлист-экшен его же самого, на любом уровне вложенности (например: в плейлист А добавлен плейлист Б, а в плейлист Б – снова плейлист А). Добавленный «сам в себя» экшен попросту не будет выполняться, чтобы избежать зацикливания и переполнения системной памяти.

Итак, наш мини-сценарий почти готов. Остался последний вопрос: а как же вставить в плейлист необходимые нам паузы по 1-2 секунды между проигрыванием отдельных экшенов?

Временная задержка

Временная пауза, или задержка, делается методом вставки в плейлист специальной команды. Выделите в списке экшен, после которого Вы хотите вставить задержку. Затем выполните команду контекстного меню Вставить команду, либо используйте кнопку тулбара редактора Новая команда 217 T.jpg.

218 T.jpg

По умолчанию вставляется именно нужная нам команда задержки, продолжительностью 1 секунда. Время задержки вводится с клавиатуры или накручивается колесом мыши в колонке Значение, в формате SMPTE (шаг прокрутки - одна секунда). Вставим команды задержки в нужные места нашего плейлиста и установим значение задержки после экшена «Установить камеру 3», равное двум секундам.

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

Многократное исполнение экшенов

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

Чтобы это проверить, давайте вспомним про ранее созданный экшен «Вращать Логотип 01». Этот экшен запускает зацикленное проигрывание логотипа для первой камеры, однако в тестовых целях давайте выключим зацикливание, чтобы логотип делал только один оборот.

219 T.jpg

Перетаскиваем экшен «Вращать логотип 01» в плейлист, сразу же после экшена «Установить Камеру 1». Обратите внимание, что точно выбрать место будущей вставки в плейлист позволяет красная горизонтальная линия. В столбце Значение накручиваем параметру Повторить значение «3», и тестируем плейлист.

220 T.jpg

Как и следовало ожидать, логотип делает три оборота, и только после этого начинается наезд камеры.

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

Параллельное проигрывание экшенов

Заметим, что выше Вы создали плейлист-экшен, состоящий из экшенов, проигрываемых последовательно. Однако нередки случаи, когда требуется проиграть два и более экшена параллельно (точнее, одновременно стартовать проигрывание). Применительно к нашему случаю поставим себе задачу одновременно запустить вращение логотипа и наезд камеры.

Чтобы не ждать конца проигрывания определенного экшена плейлиста, а сразу перейти к запуску следующего, сбросьте для него значение в колонке Ждать на <не выбрано>. В этом случае экшен со сброшенным значением и следующий за ним начнут проигрывание одновременно и далее будут проигрываться параллельно. При этом имейте в виду, что окончания проигрывания этих экшенов никак не зависят друг от друга. Можно сбросить ожидания у нескольких экшенов подряд, и все они также начнут проигрывание одновременно, до первого снизу экшена, у которого установлено (т.е. не сброшено) ожидание конца выполнения.

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

221 T.jpg

Тестируем плейлист и убеждаемся, что все работает, как и задумано: вращение логотипа стартует вместе с наездом камеры, но окончания его движения теперь никто не ждет. И даже если мы увеличим количество повторов экшена вращения логотипа с трех до миллиона – ничего «криминального» не произойдет.

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

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

222 T.jpg

Временное исключение из проигрывания

Интуитивно ясно, что если Вы хотите исключить экшен из проигрывания в плейлисте, можно его оттуда удалить с помощью контекстного меню, кнопкой на тулбаре, или клавишей <Delete> (не бойтесь, при этом экшен из самого проекта не удаляется). Однако в некоторых случаях бывает полезно временно выключить экшен из списка проигрывания (например, в процессе отладки).

Чтобы исключить какой-либо экшен или команду из списка проигрывания без удаления из списка, кликом мыши снимите галочку слева от его названия. При этом соответствующая строка плейлиста становится неактивной (серой) и ее значение в колонке Ждать игнорируется.

223 T.jpg

Применительно к нашему случаю это может быть временное исключение экшена «Вращать Логотип 01».

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

Пауза и продолжение выполнения

В нашем плейлисте мы поставили задержку на две секунды после переключения на вторую камеру. Однако во многих случаях мы не можем заранее предполагать точное время задержки в том или ином месте проигрывания сценария. Как же быть в этих случаях? Обрывать в таких местах местах один плейлист а затем стартовать следующий – или просто сидеть и расстраиваться? Не нужно делать ни то, ни другое – достаточно использовать вместо команды Задержка команду Пауза.

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

Итак, выделим строку с командой Задержка и в колонке Команда в комбобоксе выберем пункт Пауза:

224 T.jpg

Проигрываем плейлист, нажав на кнопку хотсета. Дойдя до момента переключения на вторую камеру, проигрываемая последовательность замирает, ожидая продолжения. Об этом свидетельствует прожатая кнопка и изменившийся значок статуса проигрывания в верхнем углу, теперь показывающий символ паузы. А при наведении на эту кнопку мыши, в изображении курсора снизу появляется синий треугольник (что в переводе с языка Символов означает: «Жми меня для продолжения!»).

225 T.jpg

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

Команда Пауза особо полезна при показе последовательности слайдов на экране виртуальных мониторов: Вы наполняете плейлист экшенами назначения изображений на материал монитора и разделяете их между собой паузами. Для показа очередного слайда нужно будет каждый раз нажимать на кнопку запуска всего слайд-шоу.

Заметим, что снять плейлист-экшен с паузы можно не только повторным кликом мыши на соответствующей кнопке, но и из другого экшена. Объясним, как это сделать.

Создайте новый плейлист-экшен, назвав его «Продолжить плейлист». В его список добавьте один-единственный экшен – наш основной «Плейлист». А теперь в колонке Команда замените умолчательное значение Проиграть на Продолжить.

226 T.jpg

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

227 T.jpg

Остановка проигрывания экшена

Можно догадаться, что раз уж у плейлиста есть возможность постановки на паузу, то должна быть и возможность досрочной остановки. Ведь плейлисты могут быть очень длинными, и порой нет возможности доигрывать их до самого конца. Понятно, что глобальная команда Остановить Все остановит все проигрываемые плейлисты, но в данном случае нам интересна локальная остановка конкретного экшена.

Вновь запустим наш основной плейлист и, пока он проигрывается, наведем курсор на кнопку хотсета «Проиграть Плейлист», зажав клавишу <Ctrl>. Курсор сменит форму на значок «стоп». Жмем кнопку, не отпуская клавиши, и, как и следовало ожидать, выполнение плейлиста прерывается.

228 T.jpg

Проигрываемый экшен можно остановить несколькими способами: 1) кликнуть мышью на соответствующей кнопке хотбара, зажав <Ctrl>; 2) дважды кликнуть мышью непосредственно на экшене в окне проекта, зажав <Ctrl>; 3) выбрать в контекстном меню экшена команду Остановить; 4) нажать кнопку Остановить в окне редактора или свойств (которая подменяет кнопку Проиграть на время проигрывания данного экшена).

229 T.jpg
230 T.jpg

Заметим, что все вышеперечисленные способы остановки относятся не только к плейлистам, но и к прочим типам экшенов. Однако, сразу предупреждаем:

Не путайте остановку экшена с остановкой трэка, запущенного этим экшеном! Если экшен, запустивший трэк, остановлен - трэк все равно будет продолжать проигрывание до конечной позиции, и для его остановки необходим специальный экшен остановки трэка. (Жизненная аналогия: катапульту сломали сразу после выстрела, но выпущенный камень продолжает лететь) То же самое относится и к экшенам проигрывания видеофайлов.

Экшен можно остановить не только исользуя модфикитор <Ctrl> (либо контекстное меню), но и создав для этого специальный экшен остановки. Если Вы не поленились создать чуть выше экшен «Продолжить Плейлист», изготовление экшена «Остановить Плейлист» будет парой пустяков - просто на этот раз для экшена «Плейлист» выберите команду Остановить вместо Продолжить.

231 T.jpg 232 T.jpg

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

Чтобы остановить конкретный экшен в списке плейлиста и перейти к следующему, далее продолжая проигрывать плейлист, нужно дать команду Остановить не целому экшену плейлиста, а только конкретному экшену-элементу. Это может быть особенно актуально для прерывания экшенов плейлиста с многократным повторением проигрывания.

* Экшены проигрывания и остановки целого проекта

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

233 T.jpg

Кнопки главного тулбара Проиграть Сценарий и Остановить Сценарий организованы для быстрого запуска и остановки главного сценария проекта.

В качестве главного сценария проекта может выступать любой экшен, имеющий системное имя <PLAY> (как правило, используется экшен типа плейлист). Если в проекте есть экшен с этим именем, кнопка Проиграть Сценарий становится активна, и по ее нажатию этот экшен начнет проигрывание. Кнопка Остановить Сценарий в этом случае тоже активируется и по нажатию будет выполнять обычную остановку экшена <PLAY>.

Если же в проекте еще и существует экшен с системным именем <STOP>, то по нажатию кнопки Остановить Сценарий он будет дополнительно проигран после процедуры стандартной остановки экшена <PLAY>. Как правило, экшен <STOP> также имеет тип «плейлист» и создается, чтобы остановить еще какие-нибудь экшены и\или привести объекты сцены в определенное состояние: например, сбросить трансформацию узлов или вернуть все трэки на исходную позицию.

Что представляет собой главный сценарий проекта – решать Вам, как его Создателю.

Давайте используем недавно созданный экшен «Плейлист» в качестве главного сценария, а экшен «Остановить Плейлист» - в качестве его «остановителя».

Для этого попросту измените имя экшена «Плейлист» на «<PLAY>», а «Остановить Плейлист» - на «<STOP>». Обращайте внимание на треугольные скобки в этих именах!. Кстати, после процедуры переименования, кнопки «Проиграть Плейлист» и «Остановить Плейлист» все равно автоматом будут продолжать ссылаться на нужные экшены – можете проверить.

Как только Вы переименуете экшены, кнопки запуска и остановки немедленно зажгутся на главном тулбаре, словно приглашая к нажатию!

234 T.jpg

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

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

* Пример использование плэйлиста для оптимизации переключения камер

К слову сказать, плэйлисты можно использовать не только для проигрывания сложных сценариев, но и для вполне утилитарных целей. Для примера, давайте создадим простейшие плейлисты «Наезд», «Отъезд», «Общий план» и «Крупный план». В каждый поместим экшен «Установить камеру 1» и, соответствующие экшены, управляющие движением и позиционированием камеры 1. Перетаскиваем плейлисты на хотбар «Мобильная камера», замещая старые кнопки управления на новые. Попутно обноаруживаем, что и кнопка «Установить камеру 1» нам больше не нужна – переключение камеры происходит теперь «автоматически».

Это ли не Счастье!? Ну нет, так нет…

* Использование отладочного вывода

Если Вы – дотошный, пытливый и аккуратный человек, наверняка Вас заинтересуют программные возможности отладки экшенов и точного контроля за происходящими в процессе управления событиями. Именно для отладочно-контольных целей и существует панель Отладочный Вывод. Активируйте эту панель табулятором или через главное меню Вид / Отладочный Вывод, если она была спрятана. В клиентском окне панели Вы без труда распознаете «журнал» происходящих в приложении событий.

Запустите экшен «Плейлист» (или любой другой) и посмотрите, что выводится в этот «журнал»:

235 T.jpg

Каждое сообщение помечено определенной иконкой. В основном это:

236 T.jpg - информация о статусе проигрываемых экшенов и прочих системных событиях;

237 T.jpg - пользовательские сообщения из экшенов;

238 T.jpg - предупреждения;

239 T.jpg - ошибки (всякое случается, что уж там… );

240 T.jpg - команды выполняемого скрипта.

Если на тулбаре панели включен режим вывода скриптовых команд 241 T.jpg( по-умолчанию выключен), можно увидеть выполняемые скриптовые команды, составляющие «тело» каждого проигрываемого экшена. Это может быть интересно особо «пытливо-продвинутым» пользователям…

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

242 T.jpg
243 T.jpg

Не правда ли, так гораздо понятней, что и когда происходит при проигрывании экшенов?

Работа с группами объектов

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

Например, возникла задача прятать\показывать в произвольные моменты восемь маленьких экранчиков, находящихся по бокам от основного виртуального монитора. Если бы у этих экранчиков был общий узел-«родитель», все было бы гораздо проще – мы бы прятали\показывали эти узлы всего двумя экшенами, управляя показом этого родителя. Но, увы, общего родителя у них нет - наши бедные экранчики оказались «сиротами» (Точнее, глобальный родитель у них все же есть – узел «<Main>». Однако он является родителем и для остальных узлов сцены - а значит, что спрятав его, мы спрячем всю сцену, что вовсе не является нашей целью).

Итак, если не прибегать к дополнительным хитростям, то на основе нынешнего опыта для достижения нашей цели процесс может выглядеть так:

1. Вы определяете названия восьми узлов сцены, соответствующих экранчикам («экран 01» - «экран 08»). Ну это ладно, не сильно долго…

2. Вы создаете 8 (восемь!) экшенов, каждый из которых отвечает за скрывание определенного экранчика (на основе стандартного экшена «Изменить Узел»).

3. Создаете «антиподы» экшенов скрытия (тоже 8 штук), которые обеспечивают показ каждого из экранчиков.

4. Для скрывания за раз всех 8-ми экранчиков, создаете плейлист-экшен, как было описано в предыдущей главе, и добавляете в него 8 экшенов «прятанья».

5. По аналогии создаете второй плейлист – но на этот раз для показа всех экранов.

Как видите, чтобы показывать или прятать сразу восемь экранчиков, нам нужно создать целых 8*2 + 2 = 18 (во-сем-над-цать) экшенов! Довольно нудное занятие, скажем Вам по секрету… К тому же впоследствии выяснится, что надо прятать\показывать еще и два объекта - рамки этих мониторчиков («рама_ левая» «рама_правая»), а для этого надо создать еще четыре экшена и добавить их в плейлисты. Итого 22 экшена плюс дикое раздражение от однотипной работы . Но мы поступим гораздо эффективней.

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

Создание группы узлов сцены

Итак, создадим группу экранчиков. Для этого активируем документ сцены и откроем дерево всех доступных узлов. Режим «Показать зависимые объекты» рекомендуется выключить для простоты выделения группы узлов. Выделяем мышью узлы с «экран_01» по «экран_08», притом при выделении клавиатурные <Ctrl> и <Shift> используется абсолютно так же, как в любом Windows-обозревателе.

244 T.jpg

А теперь перетаскиваем выделенные узлы на свободное место окна дерева проекта. В проектной папке «Медиа» автоматически создастся группа «Узлы», а в правой части мы увидим ее элементы.

245 T.jpg

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

Итак, Вы только что создали корневую группу узлов. Если в дальнейшем Вы собираетесь работать не только с одной группой узлов этого типа, можно сразу же создать новую подгруппу, используя команду ее контекстного меню Новая группа…, и перетащить наши узлы уже непосредственно в них. В нашем случае назовем эту группу «Экраны».

246 T.jpg

Переименовываются группы так же, как экшены и другие объекты: через контекстное меню, по кнопке F2, или в окне свойств.

А теперь на основе стандартного экшена «Изменить Узел» создаем новый экшен, только на этот раз на первой странице мастер-диалога выбираем не какой-то одиночный узел, а созданную группу узлов «Экраны».

247 T.jpg

Экшен назовем «Спрятать Экраны», а в его свойствах не забываем установить параметр «Спрятать». Проигрываем экшен – и вот, цель достигнута минимальными средствами: все восемь экранчиков пропадают за один прием!



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

Мы специально не стали добавлять в группу узелы «рама_ левая» и «рама_правая», чтобы на их примере подчеркнуть преимущества групп. Так сделаем это сейчас – перетащим эти узлы из окна сцены в нашу группу (если группа открыта, можно перетаскивать прямо в список элементов группы). Ничего не меняя в экшене «Спрятать Экраны», проигрываем его и убеждаемся: рамка скрылась вместе с экранчиками. Теперь проигрываем экшен показа – рамка также появляется вместе со своими «одногруппниками». Что и требовалось доказать!

После этого легко догадаться, что если мы удалим из нашей группы какие-то узлы, то проигрывание экшенов перестанет на них действовать. Не верите – проверьте! На всякий случай уточним: чтобы удалить узлы из группы, откройте ее в дереве проекта (слева), затем в списке узлов группы (справа) выделите мышью необходимые элементы и выполните команду удаления.

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

При добавлении одного и того же объекта в различные группы, к имени ссылки на этот объект автоматически добавляются цифры, чтобы внутри дерева групп не возникало ссылок с одинаковыми именами.

248 T.jpg

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

Если при наведении на группу к курсору добавляется красный значок «стоп», значит в эту группу вы не можете переместить объекты. Возможные причины: это - группа объектов другого типа или группа, откуда вы перемещаете объекты.

Если Вы хотите не переместить, а создать копию элементов группы-«источника» в группе-«приемнике», при перетаскивании используйте клавишу <Ctrl> (к курсору добавится «плюсик») Также для изменения составов групп можно использовать буфер обмена: команды Вырезать или Копировать, а затем - Вставить в нужной группе.

Группы других типов

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

Для создания и изменения групп экшенов пользуйтесь контекстным меню корневой папки (или созданной группы) в дереве проекта. В командах этого меню несложно разобраться самостоятельно. Перетаскивайте экшены из группы в группу методом, описанным выше, или используйте команды буфера обмена Вырезать и Вставить.

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

А если включен режим Заголовки групп, то в листе будут отображаться жирным шрифтом названия всех подгрупп первого уровня.

249 T.jpg

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

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

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

Стандартные экшены, поддерживающие группы

Уточним, какие полезные операции могут выполнить следующие стандартные экшены с группами.

Изменить Узел. Устанавливает одинаковую видимость для узлов группы, одинаковую трансформацию и единое свойство «Анимация».

Если Вы используете трансформацию для группы узлов (сдвиг, поворот, масштаб), необходимо, чтобы входящие в нее узлы имели одинаково направленные оси координат – иначе после выполнения экшена объекты «разлетятся» по разным направлениям.

250 T.jpg

Помните, мы отложили анимацию логотипов «до лучших времен»? Так вот – они настали.

Создаем в папке «Узлы» подпапку «Логотипы» и, открыв дерево сцены, перетаскиваем в нашу новосозданную папку узлы «логотип01», «логотип02» и «логотип03».

На основе стандартного экшена «Изменить Узел» создаем экшен «Анимация родителем». В его свойствах выбираем параметру «Узел» значение «Группа.Узел.’Логотипы’», а параметру «Анимация» - значение «Не проигрывается родителем».

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



Управлять Узлом. Позволяет выполнять команды проигрывания с одинаковыми параметрами (начальный-конечный кадр, скорость и т.п.). Это полезно в тех случаях, когда проигрываемые узлы не имеют собственного общего родителя (как в примере с экранчиками).


251 T.jpg

На основе стандартного экшена «Управлять Узлом» создаем экшен «Вращать логотипы». В его свойствах выбираем параметру «Узел» , как и в пердыдущем случае, значение «Группа.Узел.’Логотипы’», Устанавливаем начальное и конечное время проигрывания, а параметру «Зациклить» присваиваем значение «Да».

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





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

Если Вы захотите восстановить оригинальные свойства для членов группы, установите в этом экшене параметру «По умолчанию» значение «Да» и проиграйте его.

252 T.jpg

Изменить Источник Света. Применяет одинаковые свойства ко всем источникам света, входящим в группу. Восстановить оригинальные свойства можно так же, как и у материалов (см. выше).

Морфировать Меш. В этом экшене в качестве исходного меша можно выбрать группу. При выполнении морфирования все меши группы приобретут форму конечного меша. Восстановление исходной формы по общему сбросу приложения.

Однако уверяем Вас: несмотря на ряд ограничений, использование групп – довольно мощный инструмент для оптимизации управления сценой!

Улучшение эргономики управления сценой

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

Назначение снимков сцены на кнопки

Снимком сцены называется ее текущее изображение в окне Превью Рендера, сохраненное в файле формата .BMP (от англ. Bitmap Picture)

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

Процедура назначения довольно проста и осуществляется в режиме редактирования хотсета.

Начнем с кнопки «Крупный план». Чтобы сделать адекватный снимок сцены с активной первой камерой в нужной позиции, нужно сначала выполнить экшен, назначенный на эту кнопку. Можно, конечно, каждый раз прыгать для этого в режим тестирования и обратно – но есть способ попроще.

253 T.jpg

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




254 T.jpg

Выполним экшен, дабл-кликнув на нашей кнопке. Если при этом в окне сцены ничего не изменилось – значит первая камера и без этого была активна и находилась в нужной точке. Ну а теперь в контекстном меню кнопки выбираем команду Установить Снимок.





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

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

Создаем средствами этого же файлового диалога папку Снимки и сохраняем в нее файл снимка, использовав предложенное по умолчанию имя «Крупный план».

255 T.jpg

После закрытия диалога, вместо символа камеры на кнопке немедленно возникает миниатюра текущего изображения сцены. Однако, эта миниатюра какая-то совсем уж миниатюрная… Да и к тому же квадратная, в то время как аспект окна сцены 4:3 (если вы используете SD-режим).

256 T.jpg

Вывод напрашивается сам собой: необходимо в свойствах хотбара «Камеры» изменить аспект изображения с квадратного на Стандартный (4:3), а размер кнопок увеличить хотя бы до 96 пикселов в высоту.







Хотбар меняет свои размеры и сделанный снимок на кнопке становится вполне «смотрибельным»:

257 T.jpg

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

258 T.jpg

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

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

Горячие клавиши

Надеемся, Вы понимаете, что так называемые горячие клавиши придуманы вовсе не для того, чтобы греть пальцы на клавиатуре холодными зимними вечерами.

Горячие клавиши, назначенные на кнопки, позволяют использовать для их нажатия не только мышиные клики, но и клавиатурные сочетания, что весьма практично для постоянных пользователей проекта. Горячие клавиши функционируют только в режиме эфира или режиме тестирования хотсета.

На одну кнопку может быть назначена только одна горячая клавиша.

Почему бы и нам не назначить на кнопки управления виртуальными камерами горячие клавишы?

Приступим. Откроем свойства кнопки «Крупный план» и активируем страницу Горячая клавиша.

Все, что требуется сделать – это поставить фокус на контролку слева от кнопки Назначить и нажать желаемое «горячее» сочетание. В нашем случае это цифра «1». Жмем на клавиатуре единичку, а затем в панели свойств - кнопку Назначить. Свойства немедленно меняют свой вид, говоря о том, что <1> стала текущей горячей клавишей для кнопки «Крупный план».

259 T.jpg 260 T.jpg

По аналогии открываем свойства второй кнопки «Общий план». Но не будем торопиться жать <2> - сначала давайте слегка поэкспериментируем. Скажем, что произойдет, если мы попытаемся назначить какое-нибудь системное сочетание, например <Ctrl+S>, используемое для сохранения документов? Проверим: жмем это сочетание и убеждаемся, что приложение попросту не дает его назначить, мотивируя это предупреждающей подписью снизу.

Аналогичное предупреждение появится, если Вы попытаетесь назначить уже использованную для первой кнопки клавишу <1>. Так что всегда внимательно читайте эту информацию при новых операциях назначения.

261 T.jpg 262 T.jpg

Если же Вы все-таки хотите использовать горячую клавишу, уже назначенную на другую кнопку - сначала отмените эту клавишу в свойствах использующей кнопки, нажав в свойствах горячей клавиши кнопку Отменить.

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

263 T.jpg

Ну а теперь можно и проверить нашу улучшенную систему переключения. Переходим в режим тестирования хотсета (или режим эфира) и жмем по очереди цифровые клавиши, (насколько позволяют Ваши беглые пальцы). Как видите, переключение с клавиатуры может быть весьма эффективно!

Кнопочные радио-группы

Казалось бы, чем еще можно улучшить хотбар «Камеры»? Уж назначены и снимки, и горячие клавиши… Однако, есть еще перспективы!

Допустим, как определить, глядя на кнопки переключения камер, какая камера сейчас активна? Ведь кнопки после нажатия немедленно отжимаются обратно. Сразу сообщим правильный ответ: надо объединить кнопоки переключения камер в радио-группу.

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

Объединение кнопок в радио-группу делается в их свойствах. Откроем свойства кнопки «Общий план» и изучим комбобокс Радио-группа. Пока он пуст, ведь у нас пока нет ни одной радио-группы. Давайте же ее создадим!

264 T.jpg

В поле редактирования комбобокса введем название новой группы: например, «Подвижная камера» и жмем кнопку Применить. Этими действиями мы не только создали новую радио-группу, но и сделали кнопку «Крупный план» ее первым членом.






265 T.jpg

Теперь добавим в созданную радио-группу следующую кнопку хотбара. Это еще проще: открываем ее свойства и попросту выбираем из комбобокса радио-группы появившийся там пункт «Подвижная камера».



По аналогии добавим в радио-группу остальные кнопки хотбара «Подвижная камера» - лишним не будет!. По ходу дела пара замечаний на будущее:



Чтобы исключить кнопку из радио-группы, в ее свойствах в комбобоксе Радио-группа выберите пункт <не выбрано>, либо попросту сотрите имя текущей группы.

Радио-групп может быть много, но одна кнопка может входить только в одну из радио-групп.

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

266 T.jpg

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

Кстати, если добавить в Стартап проекта экшен «Крупный план», то и кнопка «Крупный план» будет автоматически прожата сразу после выполнения системной команды Запустить Все.

Запрещение нажатия кнопок

Не нужно быть ясновидцем, чтобы догадаться: при тестировании готовых проектов Вы нажимали кнопки хотсетов довольно хаотично, что зачастую приводило к не менее хаотичному поведению сцены. Типичная ситуация: камера не успевала долететь до общего плана, как Вы тут же давали ей «задний ход» или переключались на другую. С позиции «свободных экспериментов» в этом нет ничего страшного; но в реальном эфире неудачный момент нажатия кнопки может привести к довольно конфузным ситуациям... Как же минимизировать ошибку; подсказать оператору, что во время проигрывания тех или иных экшенов нужно не торопиться жать другие кнопки, а попросту подождать?

Существует возможность задавать для любой кнопки хотбара запрещение нажатия других кнопок. Это запрещение действует, пока экшен данной кнопки проигрывается (на время проигрывания всегда загорается зеленый треугольник в углу кнопки – не путайте с «бессрочным» прожатием кнопок, объединенных радио-группой).

Итак, в каких местах нашего учебного проекта может быть использовано запрещение нажатия? Да хотя бы на кнопках «Наезд» и «Отъезд» - чтобы оператор не спешил жать прочие кнопки, а дожидался окончания назеда или отъезда.

От слов – к делу! А это дело делается, опять таки, в свойствах кнопок…

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

По аналогии, в свойствах кнопки «Отъезд» запрещаем нажатие кнопок «Наезд», «Общий план» и «Крупный план».

267 T.jpg

Тестируем, нажав «Наезд». Камера поехала, кнопка прожата – но заметьте: на отмеченных выше кнопках появились значки запрета в верхнем левом углу для наглядности. Как ни старайтесь, но пока камера не долетит до «победного конца», эти кнопки никак не нажать, причем даже горячими клавишами. (Да что там клавишами… Даже мощным усилием Вашей несгибаемой воли!). Подобная история происходит и при проигрывании «Отъезд».

268 T.jpg

Заметьте, что запрещать можно и кнопки, находящиеся на других хотбарах. Если же Вы хотите запретить все кнопки на хотбаре, в списке запрещаемых кнопок ставьте галочку против названия хотбара – в этом случае автоматически отметятся все его кнопки.

Для закрепления материала можете позапрещать еще какие-нибудь кнопки. Ведь запрещать – это так приятно! Сразу чувствуешь себя Большим Начальником!

* Многостраничные хотсеты

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

Итак, с многостраничными хотсетами Вы могли сталкиваться при ознакомлении с готовыми проектами. Например, многостраничный хотсет содержит проект Корона.vs, входящий в «стандартный пакет» проектов, поставляемый в комплекте с виртуальной студией.

Многостраничные хотсеты полезны, когда в одном окне разместить все хотбары затруднительно. Либо когда управление сценой можно разбить на четкие непересекающиеся группы (например, различные места одной сцены или разнесенные по времени части одной программы).

270 T.jpg

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

271 T.jpg

Из этого следует Первый метод создания и изменения страниц:

Создавайте, изменяйте и удаляйте группы в папке «Контроллеры», так же, как Вы это делали в папке «Экшены», или любых других медийных папках проекта. Методы переноса из группы в группу остаются в силе.

Помните, что при удалении группы (страницы) удаляются все ее объекты, в т.ч. вложенные группы и их объекты.

272 T.jpg

Второй метод: используйте контекстное меню хотсета, вызываемое на его свободном месте, а также меню отдельных страниц, вызываемые на соответствующих этим страницам вкладках (табуляторах). Ниже мы рассмотрим подробнее именно этот метод.


Итак, если Вы приступили к организации страниц хотсетов, необходимо для начала создать первую подстраницу, выбрав в контекстном меню хотсета команду Новая Под-страница.


273 T.jpg

После этого Вы увидите сразу два табулятора: последний соответствует новой пустой подстранице; а первый - главной странице текущего уровня. Главная станица – это «родитель» своих подстраниц. На данном этапе на ней расположены все ранее созданные контроллеры хотсета.

Ну а теперь, чтобы создать очередную подстраницу, есть целых два способа:

1. Вернуться на главную страницу и вновь выполнить команду Новая Под-страница.

2. Из контекстного меню текущей подстраницы выполнить команду Новая Страница, которая создаст страницу-«сестру» – т.е. того же уровня и с тем же «родителем» (главной страницей).

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

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

274 T.jpg

Если для страницы включен режим Собственное окно в режиме Эфира, то при переходе в режим Эфира, страница появится в отдельном окне. Если у отделяемой страницы есть подстраницы, они перейдут в отдельное окно вместе с ней.

Только в режиме Эфира:

  • закрыв собственное окно страницы крестиком на заголовке, можно вновь присоединить ее к табуляции главной для данного уровня страницы;
  • захватив мышью за табулятор присоединенной страницы и отпустив на свободном месте окна приложения, можно сделать ее независимой (при возврате в режим Редактирования, режим Собственное окно в режиме Эфира окажется взведен).

Создав необходимую Вам иерархию страниц, можно заняться переносом имеющихся контроллеров с главной страницы, либо созданием новых. Еще раз напомним:

Для переноса контроллеров со страницы на страницу используйте перетаскивание мышью в окне проекта, либо используйте команду Вырезать контекстного меню контроллера (вызывается кликом на заголовке) и команду Вставить Контроллер контекстного меню хотсета (вызывается на свободном месте).

275 T.jpg 276 T.jpg

Возможно, в чистой теории концепция всех этих «страниц-подстраниц» выглядит черезчур запутанно, но небольшая практика разложит все по своим местам. Ведь взаимосвязь страниц и контроллеров очень похожа на иерархию папок и файлов в операционной системе, а это значит: все просто, как Windows 7!

Эпилог

На этом наш познавательный экскурс по наиболее популярным моментам создания несложных проектов в HotActions 3.0 временно «поставлен на паузу». Для довольно широкого круга применения полученного опыта будет вполне достаточно (во всяком случае, на первых порах). Теперь нужно самостоятельно попрактиковаться, поэкспериментировать в «свободном полете». Возможно, имеет смысл обратиться к справочному руководству, чтобы прояснить наиболее туманные места интерфейса. А если же Вам захочется большего, есть немалые перспективы для дальнейшего движения вперед! Ведь в HotActions 3.0 с нетерпением ожидают Вашего применения такие мощные методики, как:

  • создание и использование глобальных параметров, привязка к ним локальных параметров экшенов;
  • использование пресетов внутри проекта;
  • другие типы контроллеров: джойстик, трансформатор узла, проигрыватель трэка, контроллеры глобальных\локальных параметров;
  • оверлейный режим для повышения качества видео с камеры;
  • альтернативные источники сигнала, в т.ч. сетевое видео;
  • различные функциональные плагины;
  • т.д. и т.п.
…и наконец, Вершина всех HA-методик:
  • программирование параметрических экшенов на скрипте;
  • создание собственных локальных параметров экшенов и правил их взаимодействия.

Если Вы достигнете последних ступенек, значит по праву можете назвать себя Настоящим Мастером HotActions 3.0! С чем Вас заранее и поздравляем…

Успехов!

Искренне Ваш,

Руслан Великохатный

Список Рекомендованной Литературы

1. HotActions 3.0

2. HotActionsLive

3. Настройка видео

4. Настройка звука

5. Библиотека стандартных Экшенов

6. Использование команд сценария

7. Создание 3D-сцен




Вернуться к документации "Виртуальные студии Фокус"

Вернуться на главную страницу