Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Mental ray 3.3 для 3ds max.docx
Скачиваний:
5
Добавлен:
01.09.2019
Размер:
9.59 Mб
Скачать

Часть 4. Упрощенная модель подповерхностного рассеяния sss Fast

Физически корректная модель подповерхностного рассеяния, реализованная в mental ray шейдером/материалом SSS Physical (miss_physical), может оказаться неэффективной для решения ряда задач. Для корректного просчета SSS Physical требует, чтобы рассеивающий объем был замкнутым, имел ненулевую толщину и состоял из одного слоя. Расчет рассеяния в тонких слоях может вызывать определенные трудности. Если к тому же вспомнить, что для эффективного расчета рассеяния предпочтительно иметь выделенный узконаправленный источник света, становится понятно, что SSS Physical мало подходит для расчета рассеяния в таких объектах, как кожа человека, листья деревьев и тому подобных "тонких" протяженных материалах.

Для расчета подобных объектов в mental ray предусмотрен специальный набор шейдеров и материалов.

Шейдеры:

  • misss_fast_shader (SSS Fast Render Shader), скрыт по умолчанию (то есть, невидим в редакторе материалов);

  • misss_skin_specular (SSS Specular Reflection for Skin), скрыт;

  • misss_lambert_gamma (SSS Lambert Gamma), скрыт;

  • misss_lightmap_write (SSS Lightmap Write), скрыт;

  • misss_call_shader (SSS Passthrough Shader), скрыт.

Материалы:

  • miss_fast_simple_phen (SSS Fast Material);

  • miss_fast_skin_phen (SSS Fast Skin Material);

  • miss_fast_skin_phen_d (SSS Fast Skin Material+Displace).

В скобках приведены названия, как они появляются в редакторе материалов 3ds max.

Скрытые шейдеры можно открыть, отредактировав файл subsurface.mi — в разделе declare shader каждого шейдера необходимо найти "gui" и убрать "hidden".

Расчет подповерхностного рассеяния выполняется при помощи двух специальных типов карт — карты диффузного освещения lightmap и карты глубины depthmap. Lightmap содержит информацию об освещенности точек поверхности, depthmap – об их расстоянии до камеры (z-расстояние). Каждая из них представляет собой растровую карту в формате с плавающей запятой. Обе карты записываются в один файл, lightmap — в RGB каналы, depthmap — в альфа-канал. Поэтому, к формату файла предъявляется ряд требований. Он должен поддерживать хранение четырех каналов RGBA в 32-битном численном представлении данных в формате с плавающей запятой.

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

Для 3ds max карты можно сохранять в формате tif, а просматривать сохраненные карты при помощи утилиты inf_disp или другой программы просмотра, поддерживающей работу с 32-битными файлами.

Lightmap является камерозависимой картой. Это означает, что при построении lightmap для какого-либо объекта, его поверхность проектируется на двумерную плоскость в пространстве камеры. Та часть объекта, которая ближе к камере — это "передняя" поверхность, "задняя" поверхность — это следующая по удаленности от камеры поверхность объекта, обычно — обратная, задняя сторона.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]