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

Вверху — объект со стандартным материалом (Blinn), внизу — с материалом sss Fast Material

Общее значение цвета этого материала рассчитывается по следующей схеме. Все цвета рассчитываются простыми шейдерами по отдельности и "наслаиваются" друг на друга – освещенности могут просто складываться или складываться в режиме "Screen". Складываются вначале диффузные компоненты: нижний слой — рассеяние от задней поверхности, затем рассеяние от передней поверхности и, наконец, наверху — не рассеянное диффузное освещение. Суммарный диффузный цвет может умножаться на простой цвет или растровую карту (параметр overall color) и затем складываться с зеркальными подсветками для получения окончательного результата. Зеркальные подсветки "лежат" на самом верху.

Спецификация шейдера:

material "misss_fast_simple_phen" ( color texture "lightmap", скрыт в интерфейсе материала 3ds max color texture "depthmap", скрыт string "lightmap_group", scalar "lightmap_size", integer "samples", shader "bump", struct "d" { color "ambient", color "overall_color", color "diffuse_color", scalar "diffuse_weight", color "front_sss_color", scalar "front_sss_weight", scalar "front_sss_radius", color "back_sss_color", scalar "back_sss_weight", scalar "back_sss_radius", scalar "back_sss_depth" }, struct "s" { color "specular", scalar "exponent" }, struct "a" { scalar "lightmap_gamma", boolean "indirect", scalar "scale_conversion", scalar "scatter_bias", scalar "falloff", boolean "screen_composit" }, integer "mode", # light selection mode 0..2, скрыт array light "lights", скрыт )

Вид интерфейса sss Fast Material по умолчанию в 3ds max Вид интерфейса sss Fast Material со всеми открытыми слотами свойств

Группа параметров SSS Fast Material (mi) Parameters:

lightmap и depthmap — по умолчанию, скрыты. Предназначены для указания имен карт lightmap и depthmap. В обычных обстоятельствах предполагается, что эти имена назначаются картам автоматически по некоторым внутренним правилам и определения не требуют. При явном указании файла, его имя и параметры нужно задавать только в слоте "lightmap", слот "depthmap" определять не нужно. Размер lightmap по ширине должен быть вдвое больше размера рендера по ширине, а по высоте соответствовать высоте рендера. Например, если размер рендера 500х500, ширина lightmap должна составлять 1000, высота — 500. И обязательно нужно указывать использование 32 бит на канал. Если имена файлов не указываются явно (слот "lightmap" остается пустым), карты резидентно хранятся в оперативной памяти.

Карта lightmap с данными освещенности передней и задней поверхности. "Полосатость" изображения обусловлена совмещением в соседних пикселях данных о передней и задней поверхности.

Карта с данными глубины. Пусть вас не вводит в заблуждение белый цвет — это издержки 8-битного отображения монитором 32-битного изображения. Реальные значения пикселей можно измерить "пипеткой" в HDRShop

Когда файл карт указывается явно, при самом первом рендере появляется сообщение об отсутствии указанной карты. Игнорируйте, его появление вызвано некоторыми особенностями создания и передачи карт освещенности между шейдерами материала. Расчет будет выполнен правильно и при следующих рендерах, если имя файла не менялось, этого сообщения не будет. В качестве альтернативы можно создать пустой файл (например, при помощи notepad) с тем же именем и расширением и сохранить его в том месте, которое было указано для карт.

lightmap_group (Scatter group) — имя группы. Паре карт lightmap/depthmap будет присвоено групповое имя, указанное в lightmap_group. Этот параметр предназначен для автоматического генерирования резидентных карт и передачи их для расчетов всем шейдерам. Все объекты, имеющее одно и то же имя в lightmap_group, будут взаимодействовать при расчете рассеяния, объекты с разными именами в lightmap_group взаимодействовать не будут. Использование различных групп увеличивает объем необходимой для расчетов памяти, поэтому использовать разные группы для материалов следует только в том случае, если это приводит к появлению артефактов. Например, при рендере рукопожатия двух людей для рук следует использовать материалы с разными именами в lightmap_group.

Другой пример — если один объект полностью содержится в другом объекте (стенки объектов не должны соприкасаться), то для блокирования подсветки от задней рассеивающей поверхности содержащего объекта внутреннему объекту можно назначить другой материал, но с тем же именем в lightmap_group. Имена чувствительны к регистру, то есть "А" и "а" — это разные имена.

Два объекта — куб и помещенная в него сфера. Материалы объектов разные, но имеют одинаковое имя в lightmap_group и потому взаимодействуют при расчете рассеяния — сфера блокирует свет

Та же сцена и те же материалы, но теперь с разным значением lightmap_group. Сфера просто исчезла (хотя она находится на прежнем месте) — объекты перестали взаимодействовать при расчете рассеянного освещения

lightmap_size — размер карты lightmap, выраженный в процентах от размера рендера. Обычно, 50% размера вполне достаточно, но при возникновении артефактов на краях объектов, размер lightmap нужно увеличивать.

samples (Number of samples) — количество близлежащих точек (сэмплов) lightmap, собираемых для расчета освещенности точки. Samples — один из регуляторов уровня шума в рендере. Минимальное значение, установленное по умолчанию, — 32 сэмпла на луч.

Верхнее изображение — samples = 16, нижнее — samples = 256

Реальное количество собираемых сэмплов будет определяться тремя параметрами: значением samples, величиной радиуса рассеяния и размером lightmap.

bump (Bump shader) — шейдер, позволяющий определить расчет псевдорельефа (bump — искажение нормалей точек поверхности) при помощи процедурной или растровой карты. По умолчанию назначен шейдер mental ray Bump (3ds max), при необходимости его можно заменить на другой.

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