Урок 4: Переназначение текстур и видеопотоков на материалы сцены в реальном времени.

Учебные файлы для данного урока: VS_Tutorial_04.max, VS_Tutorial_04.vsp (скачать все материалы).

Этот урок также начнём с модифиции сцены в 3DS Max. Хотя мы можем менять текстуры и назначать видеопотоки на любые материалы, создадим для этих целей виртуальный монитор. Он у нас будет играть роль плазменной панели (котрая стала уже непременным атрибутом любой TV-студии). А ещё заменим кубик и шарик на диванчик - так будет уютнее, да и материал мы на него назначим не абы какой, а содержащий две текстуры одновременно: "ambient" и "diffuse". Дело в том, что в HotActions (в отличие от 3DS Max) "ambient map" является просто второй диффузной картой. Такое несоответствие с 3DS Max это, конечно, не очень здорово, но что делать, если в 3DS Max такой возможности нет. Пришлось пожертвовать не самой востребованной позицией в редакторе материалов.

Теперь экспортируем сцену в формат виртуальной студии (VS_Tutorial_04.3d) и запускаем программу HotActions.





Создадим новый проект (VS_Tutorial_04.vsp). Экшен "Init" нам понадобится такой:

:DATA.OPEN = VS_Tutorial_04.3d
:DATA.CURRENT.CAMERA = "Camera01"
:DATA.CURRENT.NODE = "Camera01"

:RENDER.VIDEO.LIVE_1.CREATE = 1
:RENDER.VIDEO.LIVE_1.FORMAT = ALPHA
:RENDER.VIDEO.LIVE_1.START = 1
:RENDER.MATERIAL.videomaterial_1.SOURCE = "LIVE_1"

:RENDER.VIDEO.MSDS_1.CREATE = 1
:RENDER.VIDEO.MSDS_1.FORMAT = LOOP
:RENDER.VIDEO.MSDS_1.DATA = movie.wmv
:RENDER.VIDEO.MSDS_1.START = 1
:RENDER.MATERIAL.screen.SOURCE = MSDS_1

Строкой типа :RENDER.VIDEO.MSDS_1.CREATE = 1 мы "создали" видеопоток для проигрывания файлов через Microsoft Direct Show -фильтр. Это означает, что мы будем проигрывать, например, видео-файлы, используя стандартные средства Windows.

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

Строка :RENDER.VIDEO.MSDS_1.FORMAT = LOOP задаёт формат проигрывания (в данном случае зацикленно).

Строка :RENDER.VIDEO.MSDS_1.DATA = movie.wmv указывает файл для проигрывания.

И наконец, строка :RENDER.MATERIAL.screen.SOURCE = MSDS_1 является командой, которая заменяет исходную diffuse-текстуру материала (в данном случае это материал screen, который мы в 3DS Max назначили на экран монитора) на видеопоток MSDS_1. Исходная текстура должна обязательно присутствовать в материале.

Посмотрите теперь самостоятельно, как устроены экшены в VS-проекте "VS_Tutorial_04", заменяющие текстуры в материалах сцены на *.jpg - файлы и видеопотоки.

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

 

к предыдущему урокук следующему уроку