Ключевые концепции 3D Studio MAX

         

Управление Alpha


Файлы цветных битовых образов, такие как TARGA (TGA), имеют различные битовые глубины, например 8, 16, 24 и 32 разряда на пиксел. В 32-разрядном файле истинного цвета каждый пиксел в образе имеет четыре канала, описывающих образ - RGBA, т.е. Red-Green-Blue-Alpha. Три канала - Red, Green и Blue - охватывают источник создания полного спектра цветовых оттенков. Каналы Red, Green и Blue для описания каждого пиксела в образе используют по 8 бит памяти каждый (3 х 8 = 24 бита на пиксел). Например, чисто зеленый пиксел имеет значения RGB, составляющее 0, 255, 0. Каждый восьмиразрядный канал представляется числом 0-255, поскольку в строке из восьми битов существует 256 возможных комбинаций нулей и единиц (2х2х2х2х2х2х2х2).

Об Alpha в простейшей форме можно думать как о еще одном канале. Он представляет уровень прозрачности посредством еще 8 разрядов памяти для каждого бита образа. Предположим, что визуализируется плоский белый круг на черном фоне, используя для круга на 50% прозрачный материал. Когда Renderer сталкивается с пикселом, попадающим внутрь круга, то он записывает в 32-разрядный файл образа для этого пиксела значения 255, 255, 255, 128 или 8 разрядов для каждого канала. Данные значения уведомляют программу о необходимости отобразить пиксел в виде смеси красного полной интенсивности, зеленого полной интенсивности и голубого полной интенсивности (белый) и предоставить возможность каждому образу ниже данного пиксела быть на 50% видимым - т.е. черный фон, проглядывающий сквозь белый круг, породит серый. Достоинство подобного представления состоит в том, что теперь можно накладывать полупрозрачный круг на любой образ в Video Post, например на облачное небо, и видеть сквозь круг облака.

СОВЕТ 3D Studio MAX создает образы в файлах форматов TGA, RLA и PNG. При первом выводе в 3DS МАХ битового образа автоматически появляется диалог Setup. В диалоге предоставляется возможность определить, будет ли альфа-канал включаться в файл. 3DS МАХ запоминает последнюю установку, введенную для конкретного формата. В диалоге Browsing Image for Input можно выделить любой файл и нажать кнопку Info для просмотра деталей, связанных с файлом. Здесь можно быстро рассмотреть, содержит ли файл альфа-канал. Выбрав View, вы перенесете файл в буфер кадра и изучите альфа-канал.

В Video Post можно воспользоваться преимуществами альфа-канала внутри битовых файлов, указав параметры из событий Filter и Layer. Например, событие Alpha Composite Layer предоставляет возможность объединить два выделенных события путем распознавания альфа-канала второго из двух образов. Если вспомнить слайды, альфа можно считать непрозрачностью образов на слайде. Некоторые образы непрозрачны, другие же полупрозрачны или прозрачны.

Не все образы обладают информацией альфа - подобную возможность имеют только 32-разрядные файлы истинного цвета. По этой причине предоставляется широкий набор методов создания и использования альфа-информации для эффектов Video Post. Например, событие Pseudo Alpha Filter берет верхний правый пиксел RGB не-альфа файла и конвертирует все идентичные пикселы в образ с полностью прозрачным альфа.

В дополнение к способностям некоторых событий Layer и Fileter распознавать и использовать альфа-канал в файлах, па которые они непосредственно воздействуют, ряд событий обеспечивают механизм Mask, предоставляющий возможность использовать альфа-канал другого файла для формирования пользовательской области прозрачности (см. рис. 28.10). Здесь можно определить, как эффект Mask применяется в очереди. Имеется возможность инвертировать Mask и использовать другие каналы в буфере Graphics (G-буфере) для управления эффектом Mask.

В случае щелчка в диалоге на флажке справа от раздела Mask возникает список битовых каналов, один или все из которых могут содержаться внутри исходного образа. Это те каналы, которые 3DS МАХ поддерживает в настоящее время для целей создания маски. 3DS МАХ может выводить файлы как с 16-разрядными каналами RGBA, так и уникальные 3D-KaHanbi, подобные Z-буферу и каналам идентификации объекта или материала. Механизм маски использует некоторые из уникальных каналов для создания своих эффектов. Наиболее распространена маска Alpha-канала. Она создаст маску из альфа-канала исходного битового образа.

Если в качестве исходных данных для маски выбирается канал Red, Green или Blue, то маску формирует двоичное значение (0-255) каждого пиксела данного канала, где 0 ~ полностью прозрачен и 255 - полностью затемнен. Точно так же для создания маски можно использовать информацию глубины Z-буфера или канальных идентификаторов материалов и объектов в исходных файлах RLA. Например, можно вывести маски, созданные 3DS МАХ для файла типа RLA, и реализовать их позже в композициях Video Post.

Можно использовать уникальную способность 3DS МАХ порождать трехмерные маски. Предположим например, что имеется ландшафт, похожий на файл образца wheatfld.tga. Требуется поэкспериментировать с трехмерным объектом, появившимся в небе. Используя следующую технологию, можно смешивать и сопоставлять объекты и текстуры без проецирования материалов.

Прежде всего добавьте к очереди Video Post два события Image Input. В качестве первого входа добавьте образ ландшафта. В качестве второго - образец карты текстуры - например, asphalt2.jpg. У карты текстуры пет альфа-канала, но путем применения к карте текстуры фильтра Image Alpha и идентифицируя маску фильтра, состоящую из информации Z-буфера специального битового файла (RLA), можно объединить текстуру с ландшафтом, используя Alpha compositor (Layer Event). Фактически вы проецируете трехмерную текстуру на фоновый ландшафт.

Применяя нашу прежнюю аналогию с проектором слайдов, данная очередь создает специальный слайд (текстуру с фильтром маски). Когда свет от лампы проектора просвечивает специальный слайд, свет блокируется трехмерным образом (объектом текста). Фильтр Alpha Image создает альфа-канал для текстуры, состоящий из специальной маски и объекта текста, который визуализирован 3DS МАХ в файл RLA. Используя в качестве маски канал Z-буфер файла RLA, фильтр Alpha Image рисует на слайде трехмерную текстуру. Лампа проецирует свет только как часть текстуры, замаскированной в соответствии с глубиной объектной информации в исходном файле RLA. Событие Alpha Compositor Layer применяемое к двум образам Input, использует проекцию фильтрованной текстуры (распознавая Image alpha текстуры) для объединения маски и битовой карты ландшафта. Рисунки 28.11 и 28-12 демонстрируют образ, используемый для маски Z-буфера, и окончательный комбинированный образ.



Содержание раздела