Не так давно заказчик одной из моих учениц выразил желание применить в своём интерьере любопытный отделочный материал – венецианскую штукатурку. И сразу возник вопрос – как визуализировать это в 3Ds Max?

Начинать проработку любого незнакомого материала стоит с его описания и хороших референсов. 10 минут поиска – и выясняем, что физически искомый состав представляет из себя смесь мраморной пыли (как вариант – кварцевой муки, толчёного гранита, малахита и т.п.), гашёной извести и красителей.

Наносится в несколько слоёв, каждый из которых тщательно просушивается и шлифуется. Если использовать два-три колера, можно достичь более чем достоверной имитации поверхности мрамора, мраморной мозаики или любого другого узора. В довершение всего, классическую «венецианку» покрывали натуральным пчелиным воском, что не только придавало оттенкам поверхности блеск и прозрачную глубину, но и делало покрытие водоотталкивающим… что как раз в Венеции весьма и весьма актуально.

В современном варианте иногда используют как связующее акрил а не известь, а как финальное покрытие берут лак вместо воска.

В любом случае, такое покрытие относится к классу т.н. «прозрачных» штукатурок. То есть, как и в случае с мрамором (который «венецианка» как раз и имитирует), материал демонстрирует явление подповерхностного рассеивания, когда часть света не просто отражается от поверхности, а сперва проникает на некоторую глубину внутрь слоя, а затем уже рассевивается обратно.

В материале типа Standard нам пришлось бы имитировать это тяжелым в расчётах и не особо удобным в настройках шейдером Translucent. Хотя под VRay в версии старше 1.5 в стандартный VRayMtl уже включены три модели транслюцентности, в этом уроке мы воспользуемся еще более удобным инструментом – VRayFastSSS2 (Sub-Surface Scattering), материалом, специализированным на реалистичный просчёт подповерхностного рассеивания.

 

Референсами по запросу «Венецианская штукатурка» или «Venetian plaster», нас привычно обеспечат что Яндекс, что Google.com

001001.jpg

 

Если у нас уже есть дюжина референсов, попробуем интерпретировать их и задать нашему материалу нужные оптические свойства.

Открываем 3Ds Max и создаём и настраиваем тестовую сцену, как это было показано в уроке «Студия для теста материалов и Настройки непрямого освещения». Открываем редактор материалов и, выделив любой свободный слот, создаём там материал типа VRayFastSSS2 с именем Venetian plaster.

002002.jpg

Назначаем материал тестовым объектам, и начинаем его настройку.

В свитке General Parameters этого материала уже есть несколько пресетов (предустановленных наборов настроек). Среди них находим Marble (white) – белый мрамор. Как мы уже сказали в начале, «венецианка» не только имитирует рисунок мрамора но, чаще всего, из него и состоит по большей части. Так что облегчим себе дальнейшую работу и выберем именно этот пресет.

003003.jpg

Разберёмся с картиной настроек, а заодно изменим кое-что под нашу конкретную задачу.

Prepass Rate контролирует точность расчётов рассеивания света. Чем ниже – тем быстрее считается освещенность на материале, но и тем более размытым будет результат. Ставить этот параметр выше +1 я бы не рекомендовал.

Scale (масштаб) задаёт глубину проникновения света в материал. Чем выше – тем глубже. Скажем, у ягод малины здесб будет значение около 35, а для мрамора (и нашей «венецианки») будет достаточно 8.

Значение IOR – это уже привычный нам по VRayMtl коэффициент отражающей способности по Френелю. Напомню, что большинство материалов имеют тем более интенсивные и чёткие отражения, чем под более острым углом мы наблюдаем их поверхность. Это и называется «эффектом Френеля», а подробное объяснение в применении к VRayMtl Вы можете найти вот в этой замечательной статье. Как мы можем увидеть на набранных нами референсах, венецианская штукатурка так же даёт различия в интенсивности отражений, так что показатель IOR выставим близкий к мрамору: 1,82

004004.jpg

Следующий свиток – Diffuse and Sub-surface Scattering Layers (слои поверхности и подповерхностного рассевивания).  Действительно, VRayFastSSS2 включает в себя как бы четыре цветовых слоя.

Overall color (общий цвет) – самый внешний из них, и накладывается как более или менее прозрачная «плёнка» поверх эффектов, заданных слоями, которые лежат ниже.

Слои diffuse color (цвет поверхности) и sub surface color (цвет глубинных слоёв) «соперничают» друг с другом через параметр diffuse amount. То есть, при нулевом diffuse amount цвет (или рисунок) поверхности окажется полностью «прозрачным», а при значении =1 он полностью перекроет собой подповерхностные цвета (что, конечно, превратит наш материал в классический VRayMtl). Обычно значение здесь дробное. Для нашей «венецианки» полезно поставить diffuse amount =0,6.

Наконец, четвёртый слой – это scatter color, который можно грубо уподобить каналу filter color для прозрачных материалов типа Standard. Собственно – цвет, в который будут окрашиваться лучи, рассеиваемые из-под поверхности. Чем ярче этот цвет, тем интенсивней свечение.

Для пресета Marble (white) создатели материала выставили цвет RGB = 217.141. 101 (#D98E65), совсем не белый, а скорее кирпично-рыжий. Его тёплые оттенки мы и наблюдаем на материале в некоторых областях рендера (иллюстрация ниже).

Кроме того, здесь расположен важный параметр scatter radius (in cm). Задаётся он только в сантиметрах, и означает следующее: Цвет подповерхностного (рассеиваемого) сияния будет проявляться наиболее ярко в тех частях модели, которые тоньше указанной величины. В нашем случае слой штукатурки вряд ли превышает 1 сантиметр, так что scatter radius =0,8 – это как раз то, что нам надо.

Ну и наконец, phase function задаёт направление рассеивания света. Положительные значения – свет рассеивается скорее вглубь материала. Скажем, при значении =0,45 примерно 45% фотонов пролетят материал «насквозь» (здорово смотрится на фруктах).

Нулевое значение – свет рассеивается равномерно.

Отрицательные значения – свет рассеивается «обратно», что как раз и надо нам. Доверимся авторам «мраморного» пресета и оставим  phase function=-0,25.

005005.jpg

 

Свиток Secular Layer (слой блика) по смыслу мало отличается от аналогичных настроек VRayMtl.

Specular color задаст цвет бликов. В нашем случае – это белый.

Specular amount определяет яркость блика, то, насколько он «перекроет» нам диффузный и другие цвета. Так, при =1 блик будет чётким и сильным, при =0 он будет отсутствовать. Поставим Specular amount =0,9.

Specular glossiness (глянцевость бликов) опять же подобна аналогичному параметру в классическом материале VRayMtl, и при значениях, стремящихся к нулю блик будет увеличиваться в размерах. В нашем случае параметр выставляем =0,8.

Specular subdivs – подробность (качество) просчёта бликов. Ставим =12, не ошибёмся.

Сделать материал отражающим можно просто поставив галочку в чекбоксе trace reflections. Отражения будут формироваться исходя из ранее заданного IOR.  В нашем случае натёртая воском и отполированная штукатурка точно отражает, так что галочка нам нужна.

Следующий (и последний в свитке) параметр reflection depth (глубина вторичных переотражений) опять не отличается от классического материала. Чем выше – тем больше раз отражающие поверхности переотразятся друг в друге. И тем дольше будет считаться материал. Поставим =6, для нашей «венецианки» этого более чем достаточно.

На иллюстрации ниже видим, как в материале отразилось фальшивое «окно» нашей тестовой комнаты - четыре Box-а, к которым применен VRayLightMtl, находящиеся вне поля зрения камеры. При этом отражения не особо чёткие, а блик от светильника «заострился» (в сравнении с предыдущим рендером), как и положено при относительно высокой глянцевости.

006006.jpg

В свитке Options базовый параметр – это Single Scatter (однократное подповерхностное рассеивание). Из трёх вариантов в случае с нашей «венецианкой» лучше выбрать режим Refractive (преломляющий). Он лучше всего подходит для материалов, не пропускающих свет насквозь, но всё же просвечивающихся.

В режиме Refractive (raytraced) программа так же попыталась бы трассировать часть лучей, пролетающих материал «насквозь», что очень хорошо для кристаллов, жидкостей, матового стекла, полупрозрачных плодов и тому подобного. В таком случае добавляются так же прозрачные, окрашиваемые материалом тени.

Режим Simple (упрощенный), напротив, не учитывает глубину материала, для расчётов берется только поверхность. Это имело бы смысл для нас, при условии, что «венецианкой» в сцене покрыты очень большие и очень рельефные поверхности – для экономии времени рендера. Качество эффекта при этом, понятное дело, ухудшилось бы.

 К слову о качестве – именно следующий параметр, Single scatter subdivs, им и управляет, если, конечно, мы не выбрали схему Simple. В нашем материале поставим его =12.

Refraction depth  (глубина проникновения света) при режиме Refractive. Больше, чем =4 нам с нашей штукатуркой явно не понадобится.

Front lighting - включает подповерхностное рассеивание со стороны камеры. Она нам нужна однозначно.

Back lighting - включает подповерхностное рассеивание лучей, падающих на противоположную от камеры сторону объекта, Поскольку речь у нас идёт о штукатурке, то таких лучей в принципе быть не может, так что галочку снимаем. А вот в случае с материалом мраморной статуи, она бы нам пригодилась... и здорово замедлила бы нам рендеринг материала.

При включенном Scatter GI под поверхностью начинают рассеиваться не только лучи, приходящие из источников света, но и  те, что приходят после отражения от поверхностей. Реалистичность материала это повысит, а вот считаться он, конечно будет медленнее. И всё же - включаем.

Параметр Prepass blur и Cutoff threshold актуальны при низких значениях prepass rate. При параметре =0 вместо подповерхностного рассеивания всегда будет считаться виреевский illumination map, что может привести к появлению артефактов. Оставим параметры без изменения.

007007.jpg

Мы настроили базовые оптические свойства нашей «венецианки», но материал по-прежнему остаётся однородным. Пора его картировать.

Наш материал имеет поверхностный рисунок, схожий с рисунком мрамора. Можно было бы попытаться имитировать его при помощи встроенных в 3Ds Max параметрических карт Perlin Marble, Marble, Mix и Noise… но процесс окажется неоправданно долгим и трудоёмким. Так что для задания диффузного цвета воспользуемся готовой битовой картой (изображением в формате .jpeg).

Для этого урока я воспользуюсь бесшовной текстурой «stucco_50.jpg» из бесплатного набора с сайта render911.ru. В конкретном же случае не составит труда просто сфотографировать нужный образец поверхности цифровым фотоаппаратом, а затем изготовить из него бесшовную текстуру средствами PixPlant, Adobe Photoshop или любого другого растрового редактора.

Итак, обратимся к свитку Maps. Традиционно, здесь мы наблюдаем все перечисленные выше параметры.

Для простоты, сначала назначим выбранный рисунок в качестве карты Bitmap в канал Overall color.

Пока мы видим, что битовая карта как бы «обтянула» весь наш образец материала. А значит, мы имеем дело с так называемой «тайлинговой» текстурой. То есть, одному образцу поверхности объекта будет сопоставлен один (по умолчанию) образец картинки. И это  - вне зависимости от размеров поверхности.

008008.jpg

Конечно, в случае со штукатуркой нам так неудобно – лучше задать фиксированный размер образца текстуры. В настройках битовой карты, в свитке Coordinates, поставим галочку Use Real-World Scale (использовать размеры в реальных единицах измерения проекта), а в окошках Size (размер образца) – по 80 cm. Я взял эту цифру произвольно, в конкретном же случае можно задать реальный размер реального узора.

Не забудьте, что для корректного отображения текстуры на тестовых объектах Вашей студии нужно

  1. поставить в настройках каждого из примитивов галочку «Real-World Map Size»
  2. в редакторе материалов нажать кнопку «Show Shaded Material in Viewport»

009009.jpg

В принципе, этим можно было бы и ограничиться. Но материал в рендере скорее всего окажется слишком «однородным», как если бы мы просто спроецировали на него слайд, или обтянули цветной плёнкой. Так что немного усложним работу себе (и рендеру).

Копируем нашу диффузную карту в каналы Diffuse color, Specular glossiness, Sss color и Scatter color.

В первом – оставляем всё без изменений.

В канале Specular glossiness (глянцевости блика) подменяем цветную карту на чёрнобелую и слегка размытую по Гауссу (здесь и далее придётся немного поработать в Фотошопе). Это придаст бликам неоднородность.

В sss color поместим более контрастный вариант исходной процедурной карты, а в Scatter color – не только контрастный, но еще и сильно размытый.

Кроме того, влияние карты (amount) в Overall color теперь лучше ограничить =10 (поскольку в нашем случае это чисто вспомогательный канал), а влияние карты в Specular glossiness – тоже уменьшить примерно до =60, чтобы перепады блика на светлых и тёмных участках текстуры не оказались уж слишком резкими.  

Все процедурные карты в полном размере и сам готовый материал Вы можете скачать по ссылке в конце урока, но я советую Вам поупражняться с растровым редактором самостоятельно.

 

010010.jpg

На финальном рендере – готовый «продукт». Дискретный, достаточно яркий блик, глянцевая, отражающая (по Френелю) «каменная» поверхность, насыщенные (именно благодаря подповерхностному рассеиванию) цвета. При желании к этому можно добавит еще и бамп-карту (если моделируемый материал был сделан рельефным.

Те же или схожие эффекты мы могли бы получить и при помощи классического VRayMtl в сочетании с VRayBlend, и даже с помощью материала типа Standard, где «френелевы эффекты», в принципе, могут быть картированы применением карты Falloff. Но настройки, а главное – рендер, заняли бы куда большее время.

Архив с файлом .mat готовой венецианской штукатурки и процедурными картами к нему Вы можете скачать здесь. Разархивировав материал в Вашу проектную папку и загрузив его в редактор материалов, не забудьте переназначить пути к битовым картам!

011011.jpg