- •Часть 1. Метод фотонных карт. Final Gathering
- •1. Испускание фотонов
- •2. Трассировка фотонов
- •3. Создание фотонной карты
- •4. Использование фотонной карты при рендеринге
- •Параметры настройки фотонных карт в mental ray для 3ds max, закладка Indirect Illumination
- •Оценка освещения точки поверхности по заданному количеству фотонов
- •Окно настроек фотонных карт
- •Настройка глубины трассировки для фотонов
- •1. Построение Grid сетки в растровом пространстве изображения
- •2. Предварительная стадия расчета fg
- •3. Рендеринг
- •Диагностический рендер fg-расчета. Радиус 10см, fg Samples 1000
- •Интерфейс настройки параметров fg-расчета
- •Часть 2.
- •Интерфейс шейдера Ambient/Reflective Occlusion в 3ds max
- •Сцена освещена двумя стандартными точечными источниками света (omni light)
- •Шейдер ао назначен диффузным свойствам материалов
- •Все тени в сцене рассчитаны ambient occlusion
- •Настройка ambient свойств материала для использования ао
- •Источник света проявляет диффузные характеристики поверхности
- •Ambient occlusion в режиме 1, учитывается цвет окружения
- •Шейдер ambient occlusion назначен точечному источнику света. Другого освещения в сцене нет
- •Простой reflective occlusion с картой отражения на параметре Bright – шейдер "видит" затеняющую геометрию, но не может построить правильные отражения – вместо них мы видим черные пятна
- •Пример диаграммы более сложного материала, позволяющего получить отражения с помощью reflective occlusion
- •Материал с Reflective occlusion, позволяющий получить отражения
- •Еще один пример материала для reflective occlusion
- •Источник света – Skylight, расчет освещения выполнен при помощи Final Gather, время вычислений – 2 часа 15 минут
- •Часть 3. Физическая модель подповерхностного рассеяния в mental ray – sss Physical Material
- •Шейдер miss_physical
- •Скриншот тестовой сцены
- •Слева-направо: камера под углом 90, 45 и 35 градусов к нижней грани
- •Слева - направо: depth 1, 10, 20, 100
- •Слева - направо: depth 1, 10, 20, 100
- •Слева - направо: depth 1, 10, 20, 100
- •Сцена 1. Молоко в стеклянном стакане
- •Сцена 2. Горящая цилиндрическая свеча
- •Сцена 3. Кубическая свеча
- •Часть 4. Упрощенная модель подповерхностного рассеяния sss Fast
- •Рассеянный задней поверхностью свет освещает переднюю поверхность
- •Материал miss_fast_simple_phen
- •Вверху — объект со стандартным материалом (Blinn), внизу — с материалом sss Fast Material
- •Вид интерфейса sss Fast Material по умолчанию в 3ds max Вид интерфейса sss Fast Material со всеми открытыми слотами свойств
- •Для шейдера bump использована растровая карта
- •Рассеяние без и с использованием ambient occlusion (нижнее изображение)
- •Применены растровые карты для bump, overall diffuse coloration и specular
- •Расчет освещения с final gathering, вверху — indirect off, внизу — indirect on
- •Шейдеры группы miss_fast
- •Диаграмма построения материала
- •Стандартный материал (phong) с картами для цвета, отражений и рельефа
- •Материал кожи со значениями по умолчанию
- •"The Final Battle". Автор: Max Kor
- •Создание собственных материалов sss Fast
- •Часть 5. Запекание текстур (render to texture)
- •Интерфейсы шейдеров mib_lightmap_write и mib_lightmap_sample
- •Пример достаточно удачных текстурных координат Неудачные текстурные координаты - множество швов и несвязанных координатных областей. Редактировать их будет довольно сложно
- •Blend - материал, запеченный scanline Запеченная текстура
- •Запеченная текстура
- •Копируем перетягиванием запекаемый материал в сэмплер поверхности
- •Рендер с текстурой, запеченной из blend-материала при помощи mental ray Запеченная текстура теперь выглядит правильно
- •Текстура с освещением
- •Интерфейс rtt
- •Секция параметров General Settings
- •Секция параметров Objects to Bake
- •Секция параметров Output
- •Секция Baked Material
- •Секция Automatic Unwrap Mapping
- •Сцена с caustic-эффектом, рассчитанным по фотонной карте
- •Настройки для запекания caustic фотонной карты
- •Запеченная фотонная карта
- •Рендер с запеченной в текстуру фотонной картой
- •Редактирование вершин Cage
- •Карта нормалей
- •Модель с Normal bump map
- •Высокополигонный источник и низкополигонный объект - цель
- •Часть 6.
- •Сетка модели Рендер сцены с источниками света
- •Две поверхности, на которых будет выращен мех
- •Модификатор Hair and Fur, секция Selection
- •Отображение в видовом окне сгенерированных модификатором волосков
- •Окно редактора Style Hair
- •Окно предварительного просмотра Style Hair
- •Секция параметров Frizz
- •Влияние параметров Frizz
- •Рендер в режиме mp Prim c Shadow map
- •Рендер в режиме mp Prim с ray trace тенями
- •"Лабораторная крыса"
Влияние параметров Frizz
Аналогичную функцию выполняют и параметры секции Kink, с той только разницей, что карта шума применяется к нормалям всех точек волоса, а не только концевых. В результате можно получить, скажем так, "кудри" вдоль всей длины волоса. То есть, направления нормалей могут изменяться резко, а не плавно, как при интерполяции. Для данной сцены необходимости в этом нет, поэтому соответствующие параметры имеют нулевые значения.
Параметры секции Multi Strand, позволяющие собирать отдельные волоски в пряди или пучки, также не используются в этой сцене, поскольку щетина крысы такими свойствами не обладает.
Теперь перейдем к параметрам Render Settings (секция Tools модификатора > Render Settings) и изменим режим рендеринга "buffer" на "MR Prim" - это позволит задействовать механизм представления волос средствами mental ray (mental ray должен быть назначен текущим рендером). Тип теней у источников пока оставим Shadow map и изменим значение Material Parameters > Occluded Amb с 40 до 95 (мех освещается только источниками, фон почти не учитывается). Выполним рендер с значениями AA 1 - 4 и фильтром Lanczos.
Рендер в режиме mp Prim c Shadow map
Как видим, мех стал темнее, а волоски выглядит толще и грубее, детализация меньше. Время сравнимо со временем рендера в режиме buffer. Теперь зададим расчет ray trace теней у источников в режиме segment вместо Shadow map и снова выполним рендер.
Рендер в режиме mp Prim с ray trace тенями
Рендер стал гораздо более детальным за счет более точного расчета теней. Как видим, обычные Shadow map для рендера волос не очень хороши. Время рендера увеличилось почти вдвое. Но зато такие тени могут быть просчитаны у источников любого типа.
Теперь все вышеописанное нужно повторить для поверхности головы. Но сначала нужно применить модификатор Mesh Optimize и уменьшить число полигонов вдвое. Все параметры волос головы идентичны параметрам волос тела. Еще я добавим sss-fast материал для ушей, лапок и хвоста и немножко glossy для поверхности подставки.
Финальный рендер:
"Лабораторная крыса"
Пир необходимости эту сцену можно экспортировать в mi - файл для рендера в standalone mental ray. Размер файла настроенной сцены в формате 3ds max - около 40 мегабайт. При экспорте в mi (ASCII) размер файла увеличится в несколько раз.
Рендер этой сцены, содержащей около 100 тысяч элементов-волосков и около 50 тысяч полигонов, выполняется довольно быстро. А вот памяти расходуется в пределах 2,7 гигабайт. Это почти предел для Windows XP-32.
Это означает, что для сцен с большим количеством элементов, например - экстерьеров с большой площадью, покрытой травой, придется выполнять раздельный рендер по слоям или по проходам, если мы захотим использовать Hair and Fur для "выращивания" травы. Отдельно - рендер травы и отдельно - остальной сцены. Количество доступной в 32-битных ОС памяти все чаще становится самым "узким" местом CG - расчетов.
Двухслойная композиция: первый слой - трава, второй - цветы, реализованный при помощи Instance Node H&F. Освещение - Skylight + Spot, ray trace тени, рендер mental ray (HR Prim) c использованием Final Gather (один диффузный отскок)
Итак, благодаря расширению Hair and Fur, реализованы ранее недоступные возможности mental ray, а арсенал средств моделирования 3ds max обогатился мощным набором средств моделирования и рендеринга таких интересных и нужных объектов, как многосоставные системы. Кроме того, Hair and Fur обладает собственными эффектными и эффективными средствами рендеринга, использующими Shadow-depth map buffers. Есть из чего выбрать.