Многослойное совмещение
Профессиональные аниматоры при работе над сложными сценами часто прибегают к многослойному совмещению. Каждый кадр при этом визуализируется в несколько проходов. Это делается по нескольким причинам:
- Загрузка, редактирование и сохранение слишком сложных сцен могут сильно замедлить работу компьютера.
- Клиент может потребовать изменить детали, которые никак не связаны с многомерностью сцены, например, оттенка цвета, яркости, контраста и т. п. Их можно легко и быстро отредактировать в программе для создания многослойного совмещения.
- Иногда для отдельных участков кадра требуется создать эффекты, которые быстрее и проще получить в редакторе двумерных изображений.
- Повторная визуализации одного слоя кадра осуществляется намного быстрее, чем визуализация всего кадра.
- Большинство типов частиц в Maya требует аппаратной визуализации и последующего совмещения с изображением визуализированной обычным образом сцены.
- Совмещение двумерных изображений практически всегда занимает меньше времени, чем визуализация трехмерной сцены. Для совмещения нескольких слоев обычно требуется меньше секунды.
- Разбиение кадра на несколько слоев позволяет разделить работу над сценой между несколькими аниматорами.
- Клиент в любое время может получить представление о том, как продвигается работа над сценой. Вам достаточно произвести совмещение отдельных слоев.
Например, рассмотрим кадр, который представляет собой вид с переднего сиденья потерявшего управление автомобиля, который едет по улице. Этот кадр можно разбить на следующие слои:
- вид передней половины машины изнутри;
- эффекты отражения/преломления в ветровом стекле;
- вид капота автомобиля с переднего сиденья;
- строения, мимо которых проезжает автомобиль;
- другие машины, движущиеся по дороге;
- тени от других машин на дороге;
- общий вид города и неба над ним.
Для начала необходимо определить траекторию движения камеры. Возможность осуществить монтаж трехмерной сцены появляется благодаря тому, что камера показывает одно и то же изображение в любом выбранном кадре. В отличие от реальной камеры, нацеливаемой вручную, виртуальная камера всегда движется по заданной траектории. Соответственно, если визуализировать сначала задний, а затем передний план, полученные изображения можно легко скомбинировать, не сталкиваясь с проблемой согласования перспективы. В реальности для получения сходного результата при съемках моделей используются дорогостоящие камеры с автоматизированным управлением. Но даже небольшие различия в положении камеры могут привести к тому, что снятые отдельно объекты будут сползать и скользить относительно фона, на котором они должны находиться неподвижно.
При моделировании вида из потерявшего управления автомобиля, движущегося по улице, необходимо задать траекторию движения камеры на ранних стадиях, потому что изменение положения объектов происходит в каждом кадре, что вызывает необходимость повторной визуализации каждого слоя. Если объекты, которые будут фигурировать в окончательном варианте сцены, еще не готовы, их можно заменить аппроксимирующими объектами. Строения и другие автомобили, проезжающие по улице, можно заменить параллелепипедами. Тестовая визуализация движения автомобиля и камеры обычно является достаточной для начала визуализации отдельных слоев. Для ускорения процесса работы над сценой необходимо учитывать несколько факторов:
- Ветровое стекло автомобиля лучше всего создавать в процессе последующей обработки кадра. В этом случае можно легко смоделировать эффекты отражения и преломления. Ведь все равно вид сцены из окна автомобиля изменится после назначения стеклу материала, а он занимает основную часть кадра. Поэтому нужно уделить внимание яркости отражений и искажению эффектов преломления, возникающему за счет криволинейности ветрового стекла.
- Отражения от капота автомобиля тоже проще всего создать в процессе последующей обработки кадра. Это приведет к значительной экономии времени, так как при обычной визуализации эффекты отражения и преломления возникают благодаря трассировке лучей, замедляющей процесс обсчета сцены.
- Общий вид города и небо практически не изменяют свой вид при движении автомобиля, поэтому их достаточно легко смоделировать в самом начале работы над сценой.
Если при виде смонтированного изображения клиент говорит, что, например, небо недостаточно чистое или яркое или имеет слишком насыщенный цвет, это легко исправить, добавив эффект размывания, изменив контрастность или понизив насыщенность цвета. То же самое происходит при работе с другими слоями. Можно даже добавить такие трехмерные эффекты, как туман или размывание с расстоянием, используя канал глубины или Z-буфер. Именно этот канал, устанавливает зависимость интенсивности эффекта от расстояния.
Программы многослойного совмещения
Большинство таких программ имеет индикатор, показывающий процесс прохождения визуализации. Слои с различными элементами кадра появляются в определенные моменты времени, и можно менять момент их начала и окончания. Некоторые слои могут представлять собой статичные изображения, но большинство является набором таких изображений. Набор из 60 изображений обычно соответствует 60 кадрам на индикаторе. Верхний слой на индикаторе находится выше расположенного под ним слоя и т. д. Самый нижний слой представляет собой фоновую картинку. Наиболее популярными программами для многослойного совмещения являются After Effect фирмы Adobe, Combustion фирмы Discreet, Shake фирмы Nothing Real, Speed Razor фирмы In-Sync, Commotion фирмы Puffin Design и Digital Fusion фирмы Eyeon.
Использование фонового материала и альфа-канала
Чтобы расположить один слой поверх другого, требуется наличие маски. Вместо того чтобы вручную вырезать объекты из кадра с помощью редактора, можно визуализировать изображение, включив в него маску, называемую альфа-каналом. Это изображение в оттенках серого, в котором черный цвет соответствует полностью прозрачным участкам, а белый – полностью непрозрачным. При этом края контуров представляют собой полупрозрачные области, показанные в оттенках серого. Благодаря альфа-каналу не только упрощается процедура вырезания объекта из сцены, но и решаются проблемы с прозрачностью объектов и со ступенчатым эффектом краев изображения. Именно альфа-канал позволяет получить достоверные результаты с помощью многослойного совмещения.
Иногда бывает непросто выделить слои с объектами. Например, представим себе сцену, в которой автомобиль выезжает из-за одного здания, поворачивается к камере, проезжает мимо другого здания и исчезает за углом третьего. В этом случае не стоит визуализировать автомобиль сам по себе. Нужно включить объекты, которые его скрывают, и назначить им материал Use Background (Использовать фон). Этот материал вырезает дыру в альфа-канале фона в местах расположения объекта. То есть области, в которых находится автомобиль, не появятся в визуализированном изображении альфа-канала. Назначение данного материала объекту приводит к тому, что сам объект и расположенные за ним элементы сцены становятся невидимыми. Однако они могут отражать лучи света и делать видимыми тени от других объектов.
В примере с автомобилем необходимо назначить материал Use Background (Использовать фон) нижним этажам зданий. В результате при перемещении вдоль такого здания автомобиль автоматически исчезнет. Кроме того, можно сделать так, что поверхность, которой назначен данный материал, будет появляться после визуализации только в местах расположения теней. В сцене с автомобилем не существует простого способа смоделировать тень, отбрасываемую автомобилем, которая была бы видна ро всех слоях. Вместо этого необходимо поместить тень в отдельный слой. Сначала объектам, формирующим улицу, назначается материал Use Background (Использовать фон), затем вы указываете, что изображение альфа-канала улицы должно появиться только в местах расположения тени от автомобиля. Этот же материал необходимо назначить самому автомобилю, чтобы он мог отбрасывать тени, но не был видимым при визуализации. В итоге вы получите только тень от автомобиля, которую можно скомпоновать с остальным содержимым сцены.