3D Studio MAX: первые шаги. Урок 25. Визуализация в Mental Ray
Настройка глобального освещения (Global Illumination, GI)
Примеры визуализации сцен в Mental Ray
Солнечные лучи, проходящие сквозь стекло
Настройка глобального освещения (Global Illumination, GI)
Глобальное освещение (GlobalIllumination, GI) позволяет имитировать эффект поверхностного рассеивания света, наблюдающийся в результате отражения распространяемого источником света от самых разных поверхностей. Примером такого освещения может служить падающий через окно солнечный свет, который отражается от пола и освещает всю комнату. При рендеринге стандартными средствами в такой сцене окажется освещенным только пол, а при визуализации в Mental Ray могут быть освещены также стены с потолком (что конкретно и в какой степени — зависит от расположения окна и интенсивности света). Эффект глобального освещения реализуется двумя способами: с помощью функции GlobalIllumination (Глобальное освещение) либо подключением метода Final Gather (Конечный сбор). В обоих вариантах процесс визуализации достаточно длителен и оказывается еще дольше, если задействуются оба метода, однако на это нередко идут, поскольку комбинирование обоих методов позволяет получать более впечатляющие результаты.
При использовании GlobalIllumination из источника света излучаются фотоны, а визуализатор (так же как и при имитации эффекта каустики) отслеживает их распределение в сцене и суммирует энергию всех фотонов в каждой точке пространства. Метод FinalGather работает иначе, хотя его цель совпадает с GlobalIllumination: после попадания первого луча в точку на поверхности объекта из этой точки в сцену излучается дополнительный пучок лучей, при помощи которого собирается информация о цвете вокруг этой точки, на базе чего и производится расчет освещенности сцены. Подобный просчет требует больше времени, чем при использовании GlobalIllumination, но при этом формируются более сглаженные световые пятна и тени. Кроме того, применение метода FinalGather оказывается полезным и при имитации эффекта каустики, поскольку позволяет уменьшить либо даже устранить возникающие в ряде случаев артефакты.
Для примера создайте новую сцену с плоскостью, шаром и чайником (рис. 20). Установите один направленный источник света, поместите его в левой части сцены и включите для источника генерацию теней по типу RayTracedShadows (рис. 21). Создайте светящийся материал на базе шейдера Architectural, изменив цвет в поле DiffuseColor и увеличив значение параметра Luminancecd/m2, отвечающего за уровень свечения, примерно до 7000 (рис. 22). Сделайте шар светящимся, назначив ему созданный материал. Проведите рендеринг визуализатором Scanline — несмотря на то что шар светится, свет от него никуда не распространяется, чего в действительности быть не может (рис. 23).
Рис. 20. Исходный вид сцены
Рис. 21. Появление направленного источника света
Рис. 22. Настройка параметров светящегося материала
Рис. 23. Результат визуализации в Scanline
Установите Mental Ray в качестве текущего визуализатора. Включите имитацию глобального освещения: активируйте в окне Render Scene вкладку Indirect Illumination и в разделе Final Gather включите флажок Enable Final Gather. Вновь визуализируйте сцену, и вы увидите, что теперь свет от шара немного освещает пространство находящейся под ним плоскости (рис. 24). Увеличьте значение параметра Multiplier до 1,5, а RaysperFGPoint до 500 — интенсивность распространяющегося от шара света заметно увеличится (теперь отблески рассеянного света видны не только на плоскости, но и на чайнике) — рис. 25. Кроме того, качество изображения стало заметно выше, что было достигнуто благодаря увеличению значения параметра RaysperFGPoint, регулирующего число световых лучей в каждом пучке.
Рис. 24. Результат первой визуализации в Mental Ray (FG включен)
Рис. 25. Результат второй визуализации в Mental Ray (FG включен)
Усложним задачу. Создайте новую сцену с замкнутым линейным сплайном в виде прямоугольника (формировать его следует в окне проекции Top) и чайником внутри. Назначьте сплайну модификатор Extrude, что позволит превратить его в некое замкнутое кубическое пространство — имитацию комнаты, внутри которой и окажется чайник (рис. 26). Добавьте в сцену камеру так, чтобы в нее было видно пространство внутри комнаты и разместите на потолке комнаты плоский куб (он сыграет в нашем случае роль лампы, работающей в режиме ночного освещения) — рис. 27.
Рис. 26. Исходный вид сцены
Рис. 27. Появление камеры и куба-лампы
Назначьте лампе светящийся материал и при желании текстурируйте стены, пол и потолок комнаты, а затем визуализируйте сцену стандартными средствами (рис. 28). Установите Mental Ray текущим визуализаторов и активируйте имитацию глобального освещения, включив флажок EnableFinalGather. Увеличьте интенсивность света, установив параметр Multiplier равным 1,7, и для ускорения процесса визуализации уменьшите значение параметра RaysperFGPoint до 50. Проведите рендеринг через Mental Ray (рис. 29). Очевидно, что в обоих вариантах ( Scanline и Mental Ray) освещение оказалось совершенно неестественным. По замыслу освещать пространство должна лампа на потолке. В первом варианте никакого свечения от нее не видно и в то же время стены комнаты освещены, хотя никаких источников света не создавалось. При этом чайник как бы парит в воздухе, что является следствием отсутствия теней. Во втором случае лампа освещает пространство рассеянным светом, появилась тень под чайником, но стены комнаты освещены все равно неестественно — чувствуется присутствие еще одного источника света. Понятно, что данный источник установлен по умолчанию (ведь мы источников не создавали), но в рассматриваемом примере он оказывается лишним. Чтобы избавиться от него (удалить его нельзя, поскольку в списке объектов сцены источник не фигурирует), создайте собственный источник света (после этого освещение по умолчанию отключается) и заблокируйте его, отключив флажок On в области Light Type раздела Generel Parameters (рис. 30).
Рис. 28. Результат визуализации в Scanline
Рис. 29. Первая визуализация в Mental Ray (FG включен)
Рис. 30. Блокирование источника света
Если теперь сразу же провести рендеринг, то в комнате практически ничего не будет видно (рис. 31). Поэтому увеличьте значение параметра RaysperFGPoint до 500 — освещенность несколько повысится (хотя стен все равно не будет видно) за счет увеличения количества рассеиваемых лучей (рис. 32). Установите параметр DiffuseBounces равным 4, что обеспечит появление светотеней на полу, стенах и потолке (при дальнейшем увеличении данного параметра тени становятся более легкими), а Multiplier — 2,2, что усилит интенсивность света (рис. 33). Еще раз увеличьте количество, а также плотность рассеиваемых лучей, установив параметры RaysperFGPoint и Initial FG Point Density равными 700 и 1,5 соответственно (рис. 34), — полученное при визуализации изображение окажется более качественным, хотя все еще каким-то призрачным (создается ощущение, что в воздухе висит какая-то дымка — рис. 35).
Рис. 31. Визуализация в Mental Ray с блокированным источником света
Рис. 32. Результат увеличения количества рассеиваемых лучей
Рис. 33. Появление светотеней
Рис. 34. Настройка параметров свитка Final Gather
Рис. 35. Окончательный результат визуализации в Mental Ray (FG включен)
Теперь посмотрим, какие результаты могут быть получены при использовании метода Global Illumination (GI). В разделе FinalGather выключите флажок EnableFinalGather, а в разделе Global Illumination (GI) включите флажок Enable и проведите рендеринг. Результаты окажутся неутешительными (рис. 36), поскольку метод GlobalIllumination базируется на излучении источником света фотонов, а единственный источник в сцене заблокирован. Разблокируйте источник, переместите его внутрь лампы, уменьшите интенсивность источника примерно до 0,3 и измените оттенок на близкий к оттенку светящегося материала (рис. 37). Включите для источника генерацию теней по типу RayTracedShadows и визуализируйте сцену — комната осветится, но будет освещена равномерно (без светотеней) и никакого свечения от лампы ощущаться не будет (рис. 38).
Рис. 36. Первая визуализация в Mental Ray (GI включен)
Рис. 37. Перемещение и изменение параметров источника света
Рис. 38. Визуализация в Mental Ray с разблокированным источником света
Попробуем поэкспериментировать с настройками глобального освещения. Для начала увеличьте энергию фотонов и то их количество, которое принимает участие в Global Illumination, выделив источник и увеличив в свитке mentalray: IndirectIllumination значения параметров Energy и GIPhotons до 10 и 400 соответственно (рис. 39). Как видно из результата (рис. 40), увеличение энергии было чрезмерным (уменьшите Energy до 5), размер фотонов и их интенсивность явно недостаточны, равно как и их количество. В то же время получить реалистичные, мягкие светотени можно только при очень большом числе фотонов приемлемого размера (при малом радиусе фотонов установка сколь угодно большого значения числа образцов практически не влияет на результат) и интенсивности. Попробуйте установить значения параметров Multiplier, Maximum Num Photons per Sample и Maximum Sampling Radius равными 1,2; 1500 и 14 соответственно (рис. 41). Результат заметно улучшился (светотени на стенах, полу и потолке достаточно естественны) — рис. 42, но без подключения метода FinalGather добиться свечения от лампы не получается.
Рис. 39. Изменение параметров свитка mentalray: IndirectIllumination
Рис. 40. Результат увеличения энергии и числа участвующих в GI фотонов
Рис. 41. Настройка параметров свитка CausticsandGlobalIllumination (GI)
Рис. 42. Результат увеличения интенсивности, радиуса и числа фотонов в каждой точке пространства
Включите в разделе Final Gather флажок Enable Final Gather и настройте параметры конечного сбора в соответствии с рис. 43. Установите для формирования теней карту MentalRayShadowMap и немного уменьшите яркость источника света (параметр Multiplier), иначе уровень освещенности после добавления рассеянного света возрастет, а это окажется лишним, ведь мы пытаемся смоделировать очень слабое свечение. Визуализируйте сцену — время на рендеринг существенно вырастет, зато результат окажется лучше (рис. 44). А освещение в данном случае получилось равномерным, поскольку именно такое генерирует Omni-источник. Однако в нашем случае требуется направленный свет, поэтому смените тип источника на направленный и подкорректируйте его положение и интенсивность. Возможный вариант визуализации сцены с направленным источником представлен на рис. 45.
Рис. 43. Настройка параметров метода Final Gather
Рис. 44. Визуализация в Mental Ray (FG и GI включены) — первый вариант
Рис. 45. Визуализация в Mental Ray (FG и GI включены) — второй вариант