3ds MAX9. MentalRay. Создание глобального освещения с помощью Final Gather и Arch&design
Всем добрый день!
Хочу поделиться опытом использования рендера MentalRay при визуализации интерьера с помощью 3 dsMAX9. Его возможности намного расширились по сравнению с 8 версией программы, особенно скорость и появление нового материала Arch&design, разработанного специально для решения архитектурных задач, что явно следует даже из его незатейливого названия. Вы узнаете, как использовать возможности нового материала и как правильно настроить Final Gather MentalRay.
Урок рассчитан на тех, кто:
1) уже работает в 3 dsMAX, но ещё не пользовался встроенным рендером MentalRay;
2) использует MentalRay, но недавно перешёл на 3 dsMAX9 и не успел разобраться с новыми возможностями и, в особенности, новым материалом Arch&design.
Откройте 3 dsMAX9.
Загрузите файл примера, с которым будем работать или, если уже имеете опыт, создайте свой собственный интерьер.
ScenaNoMentalRay01
Это простейшее помещение, наполненное предметами различной формы. Имеется одно окно, которое частично закрыто шторой. Материалы в редакторе не изменены, но они уже присвоены объектам и имеют понятные названия. Для освещения выбран Daylight. Если визуализировать сцену в данном варианте, получится вот такое малопривлекательное изображение.
В меню Render открываем окно Render Scene.
На закладке Common находим свиток Assign Renderer и нажимаем на кнопку Production
В окне Choose Renderer выбираем mental ray Renderer
Открываем Material Editor (M).
Выбираем первую ячейку. Нажимаем кнопку Material Type с надписью Standard.
В окне Material/Map Brouser выбираем материал Arch&Design.
Таким же способом переназначаем все присвоенные материалы. Меняем только Color по своему желанию.
Вот файл, полученный в результате данных действий.
ScenaNoMaterial01
Выбираем Daylight.
Меняем настройки на специально предназначенные для MentalRay - mr Sun и mr Sky,
При выборе mr Sky появляется окно
В нём сообщается, что при выборе mr Sky рекомендуется добавить ‘ mr Physical Sky’.
Если нажать ‘Да’ это будет сделано автоматически.
Если визуализировать сцену сейчас, то снова ничего хорошего не получится.
Теперь немного теории. В реальном мире освещение поверхности происходит за счёт того, что на поверхность падают фотоны, летящие от источника света. На этом их действие не оканчивается. Часть фотонов отражается, часть проходит сквозь объект, если он прозрачный. Эти фотоны, в свою очередь, освещают другие объекты, попадающиеся на их пути. И так до бесконечности. В результате, попадая в помещение через одно отверстие (окно), фотоны освещают все поверхности, независимо от того, где они находятся. За исключением тех поверхностей, путь к которым закрыт полностью. Например, внутрь закрытой коробки фотоны не попадут.
Но если воспользоваться Scanline рендером, который установлен в 3 dsMAX по умолчанию, то ничего подобного не происходит. Т.е. поверхности, на которые падает свет от осветителя, будут освещены, а остальные - нет. Это происходит, потому что Scanline рендер не рассчитывает лучи, получаемые при отражении. Для визуализации интерьера это не подходит. Поэтому воспользуемся рендером MentalRay.
Для того, чтобы заставить программу рассчитывать фотоны, нужно включить Enable в разделе Global Illumination (GI - глобальное освещение) и настроить параметры.
В результате MentalRay рассчитывает поведение фотонов, и мы получаем намного более достоверную картинку. Но чтобы получить приемлемое качество, приходится указывать очень большое количество фотонов, а это приводит к увеличению времени рендера.
Разработчики MentalRay решили для повышения качества и уменьшения времени рендера использовать в расчётах не только поведение фотонов, но и поведение освещённых поверхностей. Это, конечно, ещё большее математическое приближение, но в результате именно с помощью него можно добиться уменьшения времени визуализации. Этот способ они назвали Final Gather (FG).
Какой же способ выбрать???
Если GI, то необходимо использовать только «физически правильные» источники света, они расположены на закладке «Photometric».
FG работает с любыми осветителями.
GI плохо работает, если свет попадает в помещение через узкое отверстие, поэтому лучше использовать его для визуализации экстерьера.
Есть возможность использовать эти 2 способа одновременно (так и советуют разработчики). Но, как показывает практика, для получения качественной визуализации интерьера обычно хватает FG.
Параметров у FG немного, но, разобравшись с ними, вы сможете получать картинку необходимого качества.
Переходим на закладку Indirect Illumination. Включаем Enable Final Gather и выключаем Global Illumination, если раньше включали.
Переключаемся в Draft настройки для ускорения экспериментов. Немного настраиваем. Этого пока достаточно. Нужно сначала разобраться с материалами.
Включаем рендер.
Шум достаточно большой, но уже всё-таки можно работать с материалами. А FG настроим позже.
Выбираем материал Pol (он присвоен объекту Plane01).
В свитке Templates выбираем готовые настройки для лакированного дерева.
Посмотрим на редактор материалов.
Видим, что Diffuse Color присвоена текстурная карта (это Bitmap карта с изображением паркета). Reflection (отражение) показывает как сильно отражает материал. Глянцевитость (Glossiness) уменьшена, чтобы сделать отражение более мутным. Параметр Anisotropy сжимает блик, а Rotation – поворачивает. В данном примере действие Anisotropy не очень заметно. А для того, чтобы добиться специфического «посечённого» отражения, применён Bump. Он указан на свитке ‘Special Purpose Maps’ (специальные карты).
Получилось совсем неплохо для пола.
Сейчас немного повторюсь и по порядку опишу параметры первых 3-х свитков.
Верхний свиток Templates содержит готовые настройки для различных материалов. Их названия говорят сами за себя. Нужно только выбрать необходимую заготовку.
Дальше свиток ‘ Main material parameters’ (главные параметры материалов).
Diffuse Level определяет яркость диффузной компоненты.
Color – её цвет.
Roughness – определяет, как мягко освещённая часть поверхности переходит в затенённую (Diffuse -> Ambient). При высоких значениях материал становиться похожим на песок.
На все параметры, рядом с которыми находится кнопка без надписи можно надеть текстурную карту.
Ниже находится раздел Reflection (отражение).
Reflectivity – сила отражения.
Glossiness – насколько отражение глянцевое или мутное.
Glossy Samples – чем больше сэмплов, тем качественней отражение.
Color – цвет отражения.
Fast – ускорение за счёт интерполяции.
Highlights + FG only – рендер не будет рассчитывать лучи отражения, а будет работать только с бликами. Очень полезное свойство для слабо отражающих матовых материалов. Переключатель описан ниже подробнее.
Metal material – вид отражения больше похож на металлический.
В разделе Refraction (преломление) параметры практически повторяются.
Добавлен только IOR – коэффициент преломления.
Если установлен значок Translucency, появляется возможность сделать материал «полупрозрачным». Это упрощенный вариант подповерхостного рассеяния (SSS). Этот эффект будет продемонстрирован ниже на примере оконной шторы.
С помощью раздела Anisotropy можно исказить (сжать) и повернуть блик.
В свитке BRDF можно настроить силу отражения в зависимости от угла зрения. Нужно указать силу отражения при 0 градусов, при 90 градусах и настроить форму кривой между этими точками.
Теперь выберем материал SferaM и присвоим ему заготовку для сплошного стекла.
А для материала SferaB – для тонкостенного стекла
Рендерим. В результате, как нам и обещали, одна сфера превратилась в шар, а другая осталась тонкостенной сферой. Очень удобно!
Давайте посмотрим на параметры материалов. В чём же между ними различие?
В верхних свитках всё одинаково. Оба материала одинаково отражают и преломляют (коэффициент преломления IOR=1,5). И только в свитке Advanced Rendering Options (дополнительные опции рендера) мы видим отличия:
Как ожидалось, один материал определён как сплошной (solid), а другой как тонкостенный (thin-walled).
Теперь выбираем материал Stena. Применяем шаблон Masonry (только примените модификатор UVW Map для подстройки размера текстур).
Пусть стены у нас будут кирпичные. Что мы видим в настройках материала? Посмотрите, в каких каналах используются карты. Переключатель Highlights + FG only включён. Попробуйте выключить его и посмотрите результат. Материал начинает неестественно сильно (для стены) отражать. Но если сделать отражение равным нулю, тоже выглядит неестественно, потому что исчезают highlights-блики. Для этого и нужен этот переключатель. Он убирает отражения, но оставляет естественные блики. Подобного эффекта можно добиться, если указать очень маленький параметр Glossiness (глянцевость) для отражения. Получится очень мягкое отражение. Но при этом очень увеличивается время визуализации. А, используя переключатель Highlights + FG only, время практически не меняется. Материалы с включённым Highlights + FG only применяются для имитации предметов, имеющих очень матовые отражения. Это как нельзя лучше подходит для нашей стены.
Теперь обратимся к кубу, который находится в левом нижнем углу картинки. Материалу Kub присваиваем заготовку Cooper (медь).
Рендерим.
Результат неплохой для обычного куба. Нужно закруглить углы, чтобы было похоже на настоящий медный брусок. Но оказывается это можно сделать прямо в редакторе материалов! Переходим на закладку Special Effects и указываем, что углы нужно закруглить с определённым радиусом.
Снова рендерим.
Вот и всё. Если закругление мало – увеличьте радиус закругления.
Обратите внимание на переключатель Blend with other materials (смешивать с другими материалами). С помощью него можно закруглять углы, имеющиеся не только у данного объекта, но и углы, появляющиеся в результате пересечения этого объекта с другими объектами. Единственное, что надо помнить, для того чтобы углы объекта скруглялись при соприкосновении с другим объектом – объекты должны хотя бы чуть-чуть пересекаться.
Теперь переходим к материалу шторы. Я хочу сделать её плотной, почти непрозрачной, в результате прямые лучи почти не будут доходить до пола. Но если просто уменьшить прозрачность, тогда сама штора становиться тёмной с внутренней стороны. А ведь на ней должны быть видны лучи света и тени, падающие с обратной стороны (например, от подоконника или веток деревьев). Разберёмся, как же этого достичь? Ну, не обращаться же к материалам с подповерхостным рассеянием света (SSS). Будет очень долго считаться. Да и разработчики рекомендуют, как я уже писал, использовать с FG только материалы Arch& Design (для ускорения).
Меняем цвет на жёлтый (по желанию). Обнуляем Reflectiviti (отражения), т.к. материал шторы плотный и матовый (в данном случае), а вот Transparency (прозрачность) прибавляем. Коэффициент преломления (IOR) приравниваем к единице. И включаем Translucency (это и есть упрощенный вариант SSS). Вес (weight) указывает, какой процент прозрачности пойдёт не на прозрачность в обычном смысле, а на передачу света с обратной стороны на лицевую. Т.е. сама ткань будет очень хорошо освещена солнцем с обратной стороны, а вот дальше прямые лучи света почти не пройдут, и от шторы будет плотная тень.
Поясню ещё раз. Свет от источника попадает на штору и освещает её как бы насквозь. Она, оказывается, освещена с обеих сторон. Свет распространяется под поверхностью объекта. Поэтому данный эффект называется подповерхостное рассеяние света (SSS). Но дальше прямые лучи почти не идут, они задерживаются в объекте шторы.
Мне понравились такие параметры:
В результате 70 % прозрачности используются для подповерхостного рассеяния (SSS). И только оставшиеся 30 % на обычную прозрачность. Посмотрите, как сильно освещена штора, и как мало света проходит сквозь неё до пола. Этого я и хотел добиться.
Выбираем материал Postament и присваиваем ему готовые настройки Matte Finish. Нужно только сгладить углы с помощью Round Corners.
Выбираем материал Potolok и включаем переключатель Highlights + FG only (как вы помните, это для того, чтобы полученные отражения были очень мягкими без особых временных затрат).
Выбираем материал Tor и присваиваем ему готовые настройки Rubber (резина). Пусть будет резиновым. Посмотрите на настройки. Резиновый вид достигается с помощью переключателя Highlights + FG only (как же без него!) и настроек в разделе BRDF. Резина отражает определённым образом под разными углами, поэтому, если будете в будущем создавать собственные материал резины – не забудьте об этих параметрах! А пористый вид получается в результате увеличения Roughness.
Выбираем материал Kreslo и присваиваем ему готовые настройки Leather (Кожа).
Снова посмотрите, чем отличаются параметры от других настроек.
Выбираем материал Gardina и присваиваем ему готовые настройки Matte Plastic. Меняем цвет по желанию и сглаживаем углы.
Выбираем материал Polka и присваиваем ему готовые настройки Glossy Varnished Wood. Сглаживаем углы. Уменьшаем отражения для ускорения рендера.
Выбираем материал NojkaKreslaи присваиваем ему готовые настройки Brushed Metal. Не забываем про углы. Как вы видите, в настройках включен переключатель Metal Material, который указывает, что блики должны будут иметь специфический металлический вид.
И в заключение, для каждого материала в отдельности можно указать его восприимчивость к освещению (насколько ярко будет выглядеть материал под воздействием света) и его качество (количество FG-точек). За это отвечают параметры FG/GI multiplier и FG Quality в разделе Indirect Illumination Options.
На этом настройка материалов окончена. Возможно, после настройки FG вы решите немного поправить эти настройки, но основная работа по настройке материалов уже сделана.
Из этой части урока вы должны были усвоить, каким образом и в каких случаях применять новый материал Arch& Design. Практически все, наиболее используемые параметры были пояснены. Я не коснулся полезного переключателя Ambient occlusion в разделе Special Effects, потому что это лучше сделать, когда мы начнём настройку FG.
ScenaMaterial01
Возвращаемся к настройке рендера.
Как я уже писал, FG не использует фотоны, он использует так называемые FG-точки, которыми покрывает всю картинку. И они, в свою очередь, испускают лучи от поверхности к поверхности. Нам нужно только указать:
- плотность этих FG-точек (Initial FG Point Density);
- количество лучей испускаемых из каждой точки (Rays per FG Point);
- количество отскоков луча, после чего он прекратит своё существование (Diffuse Bounces);
- количество интерполируемых FG-точек, для сглаживания результата (Interpolate Over Num FG Points)
Для того, чтобы эти FG-точки посмотреть, переходим на закладку Processing, включаем Enable и выбираем Final Gather.
Теперь в результате визуализации будут видны эти самые FG-точки. Они показаны зелёным цветом. При Initial FG Point Density = 0.1
Возвращаемся на закладку Indirect Illumination.
Попробуйте поменять параметр Initial FG Point Density (плотность FG-точек). Количество зелёных точек на готовой картинке меняется. Больше плотность – больше точек. Всё просто. Если точек мало – на картинке будет много шума.
При Initial FG Point Density = 0.5
Для того, чтобы этот шум сгладить применяется интерполяция FG-точек. Параметр Interpolate Over Num FG Points указывает, сколько соседних точек будет участвовать в интерполяции. Чем больше, тем меньше шума, но картинка более «замыленная». Мелкие детали пропадают. Для повышения качества лучше увеличивать плотность FG-точек, а не уровень интерполяции. На практике нужно находить «золотую середину» между тем и другим.
Но это ещё не всё. Нужно указать количество испускаемых из каждой FG-точки лучей. За это отвечает параметр Rays per FG Point. При его увеличении качество повышается.
Появляется резонный вопрос, почему нельзя было заменить два параметра Initial FG Point Density (плотность FG-точек) и Rays per FG Point одним, если они оба повышают качество?
Дело в том, что они ведут себя по-разному в зависимости от общего освещения сцены. Если освещение контрастное (маленькое яркое окно), то лучше увеличивать Rays per FG Point (количество испускаемых лучей). Если окно большое, много осветителей, то предпочтительней увеличивать Initial FG Point Density (плотность FG-точек).
Теперь обратимся к параметру Diffuse Bounces (количество отскоков). Он указывает, сколько раз луч будет отражаться от поверхностей. В результате сцена освещается более ровно, светло и правильно. Но имейте ввиду, что во сколько раз увеличите количество отскоков, во столько раз увеличиться время визуализации.
При Diffuse Bounces = 1
При Diffuse Bounces = 3
Но разработчики и тут предложили способ ускорения визуализации, используя некоторые допущения. Они предлагают использовать Ambient occlusion в свойствах материала. Давайте разберёмся, что это такое? Посмотрите на стены помещения, в которой находитесь. Вы заметите, что поверхность стены темнее в местах, где она соприкасается с полом, потолком и другой стеной, если сравнивать с освещённостью в центре стены. Т.е. освещённость зависит от того, насколько изменяется кривизна поверхности в определённой области. Ambient occlusion не рассчитывает лучи или фотоны, летящие от поверхности к поверхности, а учитывает кривизну это поверхности. Конечно, это допущение, но посмотрите на результат. При минимальном увеличении времени рендера качество заметно улучшается. Для того, чтобы использовать данное свойство, откройте редактор материалов и включите его.
Max Distance определяет, какое расстояние берется для расчета. Чем больше, тем лучше, но дольше.
Для полноты картины разберёмся с оставшимися настройками FG.
В разделе Final Gather Map можно сохранить полученную карту FG и затем использовать её многократно без пересчёта.
В разделе Advanced для удаления шума можно использовать фильтр. (По-умолчанию - Standard). Или наоборот, включить черновой режим Draft Mode.
В разделе можно указать максимальное количество отражений и преломлений.
И в разделе FG Point Interpolation можно указать, что интерполяция между FG-точек будет проводиться не по количеству соседних точек, которое указано в параметре Interpolate Over Num FG Points, а по радиусу, который указан в этом разделе. Выбираете как вам удобней.
Вот и всё!!!
Осталось поставить подходящие параметры для рендера. Всё зависит от ваших потребностей. Я настроил вот так.
Initial FG Point Density = 0,8
Rays per FG Point = 250
Diffuse Bounces = 3
Interpolate Over Num FG Points = 30
ScenaMaterial02
Вот как получилось. Конечно, до совершенства далеко. Для того, чтобы получить качественный конечный результат, необходимо ещё настроить параметры закладки Renderer. Я надеюсь объяснить, как это сделать, в следующем уроке. В нём же я опишу ещё один материал MentalRay, а также для тех, кто хочет попробовать полноценное глобальное освещение – настройки раздела Global Illumination. А в этом уроке, как и обещал, вы узнали, как пользоваться FG и новым материалом Arch& design. Пользуйтесь полученными знаниями в своей работе и продолжайте изучение замечательного рендера MentalRay.
До следующих уроков. Всего хорошего!