
- •Часть 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 тенями
- •"Лабораторная крыса"
Пример диаграммы более сложного материала, позволяющего получить отражения с помощью reflective occlusion
В качестве одной карты материала Mix выступает HDR изображение, которое используется для незаблокированных точек поверхности. Второй материал – mental ray Reflect, используется для расчета освещения заблокированных точек. Смешивание карт выполняет ambient occlusion, параметры которого настроены как в предыдущем случае.
Результат применения такого материала:
Материал с Reflective occlusion, позволяющий получить отражения
Теперь поверхность автомобиля правильно отражает окружение.
Смысл этих манипуляций с материалами и шейдерами заключается в том, что они позволяют быстрее рассчитывать отражения по сравнению с использованием истинного рейтресинга – за счет того, что отражения вычисляются только там, где это необходимо.
Сделать тоже самое для прозрачных материалов (refractive occlusion) пока невозможно. Дело в том, что в соответствии с алгоритмом АО - шейдера сэмплирующие лучи испускаются только над поверхностью, а для преломляющих материалов такие лучи нужно трассировать в противоположном направлении – под поверхность.
Приведенная диаграмма материала для reflective occlusion не единственна. Вот еще один пример на основе материала Fallof и Mix:
Еще один пример материала для reflective occlusion
Можно придумать и другие, здесь поле для творчества ограничивается только фантазией и мерой необходимости.
Такие же комбинированные с шейдером ambient occlusion материалы можно создавать и для диффузных характеристик поверхностей.
Теперь сравним результаты и время расчета сцены с источником света SkyLight и реальными материалами, выполненный при помощи Final Gather, и расчет сцены с использованием ambient occlusion.
Источник света – Skylight, расчет освещения выполнен при помощи Final Gather, время вычислений – 2 часа 15 минут
Для настройки освещения с помощью ambient occlusion нужно "ловить" соотношение интенсивности прямого освещения и ambient – освещения. Для этого удобно воспользоваться возможностью Material Override прямо из рендера и настраивать параметры шейдера ambient occlusion. Для данной сцены интенсивность точечного источника, дающего прямое освещение составила 0.2, для параметров шейдера АО выбраны следующие значения: Spread = 0.8, Samples = 32, mode = 1 (сэмплируется Environment), Max distance = 150 см.
При таких настройках "чистый" ambient occlusion выглядит так:
Настроенный
для сцены "чистый" ambent occlusion
Такие настройки были выбраны из-за особенностей материала кузова автомобиля – он относительно темный. Для более светлого материала настройки шейдера АО могут быть другими, с более насыщенными тенями.
Теперь выполним полный рендер сцены, с текстурами:
Расчет
с ambient occlusion. В сцене два основных точечных
источника света – один для обычного
освещения, второй – только для ambient -
освещения. Время – 21 минута
…
и добавим немножко отражений, время
рендера увеличилось до 33 минут
Для
кузова автомобиля использован другой,
более светлый материал
Ambient/Reflective Occlusion также можно попробовать использовать для рендера интерьеров, например, в связке с фотонными картами. Есть особенность, которую необходимо учитывать — интерьер представляет собой замкнутое или почти замкнутое пространство. Поэтому, если не указывать подходящее значение длины сэмплирующих лучей, рендер будет просто "черным прямоугольником", поскольку вся геометрия окажется заблокированной. Длину сэмплирующих лучей нужно подбирать в зависимости от того, как, или для чего планируется использовать шейдер. Например, для имитации глобального освещения, неплохой результат можно получить при длине сэмплирующих лучей (параметр Max distance) в 1 — 2 метра. Для случая сцены, рассматривавшейся в первой части обзора, это выглядит так (добавлен точечный ambient - источник в центре комнаты):
Рендер
интерьера. Для имитации глобального
освещения использован ambient occlusion, Max
distance = 3 метра
Хорошо видно, что хотя Ambient occlusion и создает некое подобие глобального освещения, тем не менее, отсутствует одно из важнейших свойств правильного освещения – затухание света по мере удаления от источника, в данном случае – от окон вглубь комнаты. Возникает вполне логичное предположение, что ситуацию можно попробовать исправить с помощью фотонных карт
Связка:
фотонные карты + ambient occlusion
Таким способом вполне можно достичь затухания освещения, а время рендера будет гораздо меньше, чем при использовании связки фотонные карты + FG. Существенным недостатком является необходимость сильного размывания фотонной карты и, кроме того, остается проблема темных углов. Таким образом, хотя этот метод далеко не идеален, он вполне может быть востребован при определенных обстоятельствах.
Дальнейшим развитием этой техники рендеринга является использование тройной связки "фотонная карта + FG + ambient occlusion". В этом случае мы имеем альтернативу Exposure control – управления освещением при помощи экспозиции. При этом на ambient occlusion возлагается роль постоянного константного освещения, которое можно просто добавить к глобальному освещению, рассчитанному фотонными картами и Final Gathering. Таким образом можно избавиться от засветов в ярко освещенных областях сцены (возле окон) и одновременно добиться того, что темные области сцены будут достаточно хорошо освещены. Можно считать, что в данном случае ambient occlusion позволяет имитировать способность человеческого зрения приспосабливаться к освещению в широком диапазоне интенсивностей.
На практике следует рассчитывать глобальное освещение и ambient occlusion за два отдельных прохода и затем комбинировать их в программе обработки растровых изображений, поскольку расчет освещения методом фотонная карта + FG + ambient occlusion за один проход выполняется очень долго.
Освещение
рассчитано за два прохода. Первый –
фотонная карта + FG, второй – только
ambient occlusion c Max distance= 3 метра, рендеры
сохранены в два отдельных файла в формате
.tif. В Adobe Photoshop эти рендеры ложились в
два слоя, основной слой – рендер с GI,
второй слой – ambient occlusion, прозрачность
слоя 32%, режим смешивания "Screen"
Для
сравнения – рендер только с GI (фотонная
карта + FG)
Ambient/Reflective Occlusion довольно широко используется для рендера по проходам (пассам) с последующей их сборкой в одно изображение во внешней программе обработки растровых изображений, например — в Adobe Photoshop или Shake. Существует довольно много вариаций этой техники, но в самом общем случае требуются следующие проходы:
рендер только с освещением от прямых источников света, возможно – с расчетом GI только фотонными картами, без FG
рендер только с ambient occlusion, без текстур и цвета, при этом шейдер может быть назначен в слот диффузных характеристик материала
рендер только ambient – освещения с текстурами и без АО
при необходимости – рендер с освещением от окружения, без текстур
Далее каждый из "пассов" укладывается на отдельный слой в программе обработки изображений в определенном режиме смешивания с остальными слоями. Одно из важных преимуществ такого способа заключается в более широких возможностях управления конечным результатом за счет индивидуальных настроек свойств слоев.
На этом пока все. В следующий части будет рассмотрен шейдер SSS, его свойства и возможности.