1 Уроки Maya Использование модуля Video Post часть 2-1 Сб Окт 02, 2010 10:13 am
Admin
Admin
Теоретические аспекты
Под композитингом (от англ. compositing — компоновка) понимают получение целостного изображения путем совмещения двух и более слоев отснятых на видеопленку объектов. Данный метод широко применяется в кино и на телевидении, когда требуется собрать в один визуальный ряд несколько слоев графики, видео и титров — нередко это бывает необходимо при создании рекламных роликов и видеоклипов, оформлении заставок, получении некоторых спецэффектов и т.п. Полноценный композитинг проводится в специализированных программных решениях, таких как Adobe After Effects, Combustion, Nuke и пр. Что касается пакета 3D Studio MAX, то возможности композитинга в нем весьма ограниченны, но, тем не менее, вполне достаточны, например, для получения многослойных статичных композиций.
Реализуется объединение слоев (на языке Video Post — событий) путем назначения им события ImageLayerEvent (Событие слоя изображения), позволяющего комбинировать между собой определенным образом (например, с подключением альфа-канала1 либо маски) готовые изображения и анимации, а также результаты визуализации сцены. Одним событием ImageLayerEvent можно скомпоновать только два слоя (например, изображение и результат визуализации), поэтому при необходимости компоновки множества слоев смешивание их производится поэтапно и требует подключения целого ряда событий ImageLayerEvent, а полученная в итоге очередь будет представлять собой очень сложную структуру глубоко вложенных иерархий событий Layer. Слой, расположенный в очереди событий вторым (то есть ниже первого), должен иметь прозрачные или полупрозрачные области — в противном случае лежащий над ним слой окажется полностью невидимым.
В Video Post предусмотрены следующие методы композитинга слоев:
Для примера создайте новую сцену с одним или двумя произвольными примитивами — мы остановились на двух растениях из группы встроенных растительных объектов Follage (Create=>Geometry=>AECExtended) — рис. 1. Попробуем применить модуль VideoPost для добавления к данным объектам фонового изображения. Разумеется, внедрить фоновое изображение в сцену можно и через окружение, открыв из меню Rendering (Рендеринг) команду Environment (Окружение), щелкнув вначале на кнопке EnvironmentMap, а затем на строке Bitmap и указав подходящий графический файл в качестве фона. Но мы все-таки воспользуемся модулем VideoPost, поскольку на данном примере будет проще всего понять процесс смешивания событий. Откройте окно VideoPost, воспользовавшись командой Rendering=>VideoPost (Визуализация=>Видеомонтаж). Добавьте в очередь событие ввода изображения, щелкнув на кнопке AddImageInputEvent, и в качестве изображения укажите предполагаемый фон — в данном случае это пейзаж, полученный в программе Terragen (рис. 2 и 3). Добавьте в очередь событие Сцена (кнопка AddSceneEvent), установив для визуализации окно Perspective (рис. 4). Для запуска выполнения событий из очереди щелкните на кнопке ExecuteSequence, включите вариант Single и в качестве визуализируемого кадра укажите нулевой кадр. Пока на итоговом изображении никакого фона не будет (рис. 5), поскольку смешивание не настроено и события лишь меняют друг друга — то есть вначале отобразится фоновое изображение (поскольку оно установлено первым), которое тут же будет заменено изображением, полученным при визуализации сцены.
Настроим смешивание слоев через плагин слоя AlphaCompositor, что предполагает наличие у нижнего из событий альфа-канала. В нашем случае нижним событием установлено событие Сцена, у которого альфа-канал формируется автоматически, поэтому никаких дополнительных усилий предпринимать не придется. В том, что альфа-канал у получаемого при визуализации сцены изображения действительно имеется, убедиться совсем несложно. Запустите обычную визуализацию сцены, а затем в окне просмотра щелкните на кнопке DisplayAlphaChannel — все видимые элементы отобразятся белым цветом, а невидимые — черным (рис. 6).
Для смешивания установленных в очереди слоев переключитесь в окно VideoPost, при нажатой клавише Shift выделите оба события, щелкните на кнопке AddImageLayerEvent, в области LayerPlug-In укажите в списке вариант AlphaCompositor и нажмите кнопку Ok (рис. 7). Запустите выполнение событий очереди и убедитесь, что теперь растения вполне гармонично вписались в фон (рис. .
Смешать события столь просто нам удалось лишь потому, что в качестве второго фигурировало событие Сцена. При нахождении на его месте произвольного изображения процесс оказался бы сложнее — данное изображение пришлось бы дополнить альфа-каналом и сохранить в формате TGA с учетом этого альфа-канала. Хотя можно было пойти и иным путем — создать изображение без альфа-канала, но дополнительно подготовить для него черно-белое изображение и подключить последнее в качестве маски слоя. Рассмотрим оба эти варианта на простых примерах.
Откройте в Photoshop (может быть задействован и любой другой графический пакет, в котором предусмотрена возможность сохранения TGA-файлов с внедренным альфа-каналом) подходящее растровое изображение (рис. 9). Попробуем подключить его в Video Post отдельным слоем и так смешать с вышестоящими слоями, чтобы краб с данного изображения оказался в правом нижнем углу сцены. Для этого вначале придется создать на его основе TGA-изображение с альфа-каналом. Получим альфа-канал из выделенной области. Для удобства выделения сделайте фотографию более яркой и контрастной, настроив параметры Brightness/Contrast (меню Image=>Adjustments=>Brightness/Contrast). В режиме быстрой маски выделите фон вокруг краба и сделайте контуры выделения более мягкими, применив к изображению фильтр GaussianBlur с радиусом размытия в 5 пикселов. Вернитесь в обычный режим и сохраните выделенную область командой Select=> Save Selection, назвав ее NewChannel (рис. 10). Это приведет к появлению нового канала с соответствующим именем, в чем несложно будет убедиться, открыв палитру Channels (рис. 11), — данный канал и сыграет роль альфа-канала. Сделайте канал RGB невидимым, щелкнув на иконке с изображением глаза. Как видно из рис. 12, первоначально на альфа-канале краб оказался закрашенным черным цветом, а фон — белым. Однако нам требуется обратное сочетание цветов — ведь видимым должен быть краб, а не фон. Поэтому выделите волшебной палочкой на альфа-канале фон и залейте его черным цветом, потом инвертируйте выделение и залейте выделенную область белым цветом (рис. 13). Теперь требуется удалить фон на RGB-канале. Вновь выделите волшебной палочкой на альфа-канале фон (рис. 14), переключитесь на канал RGB (рис. 15) и нажмите клавишу Del — фон удалится (рис. 16). Верните фотографии естественные яркость и контрастность (команда Image=>Adjustments=>Brightness/Contrast) — рис. 17. Сохраните изображение, воспользовавшись командой File=> Save As, укажите в качестве расширения TGA, обязательно включите флажок AlphaChannels и выберите разрешение 32 bits/pixel (рис. 18) — в нашем случае будет получено изображение Crab.tga.
[center][Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
]
Под композитингом (от англ. compositing — компоновка) понимают получение целостного изображения путем совмещения двух и более слоев отснятых на видеопленку объектов. Данный метод широко применяется в кино и на телевидении, когда требуется собрать в один визуальный ряд несколько слоев графики, видео и титров — нередко это бывает необходимо при создании рекламных роликов и видеоклипов, оформлении заставок, получении некоторых спецэффектов и т.п. Полноценный композитинг проводится в специализированных программных решениях, таких как Adobe After Effects, Combustion, Nuke и пр. Что касается пакета 3D Studio MAX, то возможности композитинга в нем весьма ограниченны, но, тем не менее, вполне достаточны, например, для получения многослойных статичных композиций.
Реализуется объединение слоев (на языке Video Post — событий) путем назначения им события ImageLayerEvent (Событие слоя изображения), позволяющего комбинировать между собой определенным образом (например, с подключением альфа-канала1 либо маски) готовые изображения и анимации, а также результаты визуализации сцены. Одним событием ImageLayerEvent можно скомпоновать только два слоя (например, изображение и результат визуализации), поэтому при необходимости компоновки множества слоев смешивание их производится поэтапно и требует подключения целого ряда событий ImageLayerEvent, а полученная в итоге очередь будет представлять собой очень сложную структуру глубоко вложенных иерархий событий Layer. Слой, расположенный в очереди событий вторым (то есть ниже первого), должен иметь прозрачные или полупрозрачные области — в противном случае лежащий над ним слой окажется полностью невидимым.
В Video Post предусмотрены следующие методы композитинга слоев:
- Adobe Premiere Transition Filter — позволяет использовать для смешивания событий переходы Adobe Premiere;
- Alpha Compositor — смешивает два события с учетом альфа-канала второго из них;
- Cross Fade Transition — задает смену одного события другим через постепенное проявление (применение данного метода имеет смысл только при проигрывании нескольких кадров);
- Pseudo Alpha — создает альфа-канал для изображения, указанного в нижнем событии, таким образом, что в нем окажутся полностью прозрачными все те пикселы, цвет которых совпадает с цветом левого верхнего пиксела исходного RGB-файла; данный метод применяется для удаления фонового цвета;
- Simple Additive Compositor — смешивает слои, используя для определения уровня прозрачности значение интенсивности (HSV) изображения переднего плана, при этом области полной интенсивности (255) будут абсолютно непрозрачны, области нулевой и промежуточной интенсивности полностью прозрачны;
- Simple Wipe — задает смену одного события другим путем его постепенного выдвигания в нужном направлении (применение данного метода имеет смысл только при проигрывании нескольких кадров).
Для примера создайте новую сцену с одним или двумя произвольными примитивами — мы остановились на двух растениях из группы встроенных растительных объектов Follage (Create=>Geometry=>AECExtended) — рис. 1. Попробуем применить модуль VideoPost для добавления к данным объектам фонового изображения. Разумеется, внедрить фоновое изображение в сцену можно и через окружение, открыв из меню Rendering (Рендеринг) команду Environment (Окружение), щелкнув вначале на кнопке EnvironmentMap, а затем на строке Bitmap и указав подходящий графический файл в качестве фона. Но мы все-таки воспользуемся модулем VideoPost, поскольку на данном примере будет проще всего понять процесс смешивания событий. Откройте окно VideoPost, воспользовавшись командой Rendering=>VideoPost (Визуализация=>Видеомонтаж). Добавьте в очередь событие ввода изображения, щелкнув на кнопке AddImageInputEvent, и в качестве изображения укажите предполагаемый фон — в данном случае это пейзаж, полученный в программе Terragen (рис. 2 и 3). Добавьте в очередь событие Сцена (кнопка AddSceneEvent), установив для визуализации окно Perspective (рис. 4). Для запуска выполнения событий из очереди щелкните на кнопке ExecuteSequence, включите вариант Single и в качестве визуализируемого кадра укажите нулевой кадр. Пока на итоговом изображении никакого фона не будет (рис. 5), поскольку смешивание не настроено и события лишь меняют друг друга — то есть вначале отобразится фоновое изображение (поскольку оно установлено первым), которое тут же будет заменено изображением, полученным при визуализации сцены.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 1. Исходная сцена
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 2. Фоновое изображение
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 3. Окно Video Post с добавленным фоновым изображением
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 4. Появление в очереди события SceneEvent
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 5. Результат первоначального выполнения очереди
Рис. 1. Исходная сцена
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 2. Фоновое изображение
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 3. Окно Video Post с добавленным фоновым изображением
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 4. Появление в очереди события SceneEvent
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 5. Результат первоначального выполнения очереди
Настроим смешивание слоев через плагин слоя AlphaCompositor, что предполагает наличие у нижнего из событий альфа-канала. В нашем случае нижним событием установлено событие Сцена, у которого альфа-канал формируется автоматически, поэтому никаких дополнительных усилий предпринимать не придется. В том, что альфа-канал у получаемого при визуализации сцены изображения действительно имеется, убедиться совсем несложно. Запустите обычную визуализацию сцены, а затем в окне просмотра щелкните на кнопке DisplayAlphaChannel — все видимые элементы отобразятся белым цветом, а невидимые — черным (рис. 6).
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 6. Окно визуализации сцены в режиме альфа-канала
Рис. 6. Окно визуализации сцены в режиме альфа-канала
Для смешивания установленных в очереди слоев переключитесь в окно VideoPost, при нажатой клавише Shift выделите оба события, щелкните на кнопке AddImageLayerEvent, в области LayerPlug-In укажите в списке вариант AlphaCompositor и нажмите кнопку Ok (рис. 7). Запустите выполнение событий очереди и убедитесь, что теперь растения вполне гармонично вписались в фон (рис. .
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 7. Вид окна VideoPost после первого смешивания слоев
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 8. Результат внедрения в сцену фонового изображения
Рис. 7. Вид окна VideoPost после первого смешивания слоев
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 8. Результат внедрения в сцену фонового изображения
Смешать события столь просто нам удалось лишь потому, что в качестве второго фигурировало событие Сцена. При нахождении на его месте произвольного изображения процесс оказался бы сложнее — данное изображение пришлось бы дополнить альфа-каналом и сохранить в формате TGA с учетом этого альфа-канала. Хотя можно было пойти и иным путем — создать изображение без альфа-канала, но дополнительно подготовить для него черно-белое изображение и подключить последнее в качестве маски слоя. Рассмотрим оба эти варианта на простых примерах.
Откройте в Photoshop (может быть задействован и любой другой графический пакет, в котором предусмотрена возможность сохранения TGA-файлов с внедренным альфа-каналом) подходящее растровое изображение (рис. 9). Попробуем подключить его в Video Post отдельным слоем и так смешать с вышестоящими слоями, чтобы краб с данного изображения оказался в правом нижнем углу сцены. Для этого вначале придется создать на его основе TGA-изображение с альфа-каналом. Получим альфа-канал из выделенной области. Для удобства выделения сделайте фотографию более яркой и контрастной, настроив параметры Brightness/Contrast (меню Image=>Adjustments=>Brightness/Contrast). В режиме быстрой маски выделите фон вокруг краба и сделайте контуры выделения более мягкими, применив к изображению фильтр GaussianBlur с радиусом размытия в 5 пикселов. Вернитесь в обычный режим и сохраните выделенную область командой Select=> Save Selection, назвав ее NewChannel (рис. 10). Это приведет к появлению нового канала с соответствующим именем, в чем несложно будет убедиться, открыв палитру Channels (рис. 11), — данный канал и сыграет роль альфа-канала. Сделайте канал RGB невидимым, щелкнув на иконке с изображением глаза. Как видно из рис. 12, первоначально на альфа-канале краб оказался закрашенным черным цветом, а фон — белым. Однако нам требуется обратное сочетание цветов — ведь видимым должен быть краб, а не фон. Поэтому выделите волшебной палочкой на альфа-канале фон и залейте его черным цветом, потом инвертируйте выделение и залейте выделенную область белым цветом (рис. 13). Теперь требуется удалить фон на RGB-канале. Вновь выделите волшебной палочкой на альфа-канале фон (рис. 14), переключитесь на канал RGB (рис. 15) и нажмите клавишу Del — фон удалится (рис. 16). Верните фотографии естественные яркость и контрастность (команда Image=>Adjustments=>Brightness/Contrast) — рис. 17. Сохраните изображение, воспользовавшись командой File=> Save As, укажите в качестве расширения TGA, обязательно включите флажок AlphaChannels и выберите разрешение 32 bits/pixel (рис. 18) — в нашем случае будет получено изображение Crab.tga.
[center][Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
]