Найти в Дзене
CG CHANNEL

Подключение текстур к стандартному шейдеру VRayMtl

Оглавление

Еще немного о текстурах и PBR. Рендер системы появились давно - V-Ray имеет уже почтенный возраст. Первая бета-версия рендера V-Ray появилась в далеком 2000 году.

В 2000 году интернет не был распространен повсеместно и разработчики "варились в собственном соку", имея возможность обмениваться опытом только на конференциях. По этой причине термины и определения, используемые в том же самом шейдинге, придумывались исходя из ИМХО разработчика, поэтому к 2020 году, мы имеем кучу похожих определений - выполняющих одну и туже функцию.

Рендер движки для продакшена, теперь тесно "сотрудничают" с реал-тайм движками и наоборот. PBR это попытка привести всю CG отрасль к определенным стандартам и некой универсальности, что бы люди не испытывали "боль" при совместной работе в разном софте и рендер системах.

Сделал небольшой гайд - как подключать и использовать различные текстуры вместе с VRayMtl. В большом разрешении таблицу можно скачать здесь.

В статье про PBR текстуры я упоминал следующие карты: Diffuse, Specular, Metalness, Glossy, Roughness, Opacity, Normal, Height, Ambient occlusion, Cavity, Emissive maps. Есть еще ряд текстурных, карт, которые не фигурировали в этой статье, поэтому я решил сделать обзор всех возможных текстур, которые можно, так или иначе, использовать в стандартном шейдере VRayMtl и разобрать их по слотам подключения.

Слот Diffuse

Слот Diffuse - сюда можно\нужно подключать карты имеющие в своем названии - Albedo, Color (Colour), Diffuse, Base. Иногда эти определения могут быть сокращены до Diff, Col, Alb.

 Cavity и Ambient Oclusion maps
Cavity и Ambient Oclusion maps

Если в текстурном сете есть карты Cavity и Ambient Oclusion, то их можно использовать следующим образом. В таблице я отобразил возможный метод подключение через стандартную ноду Composite. Подключать эту ноду, которую я назвал Extended Diffuse, так же к слоту Diffuse, вместо простой диффузной карты.

-4

Отличие текстурных карт Cavity и Ambient Oclusion состоит в том, что Cavity "работает" на мелкую детализацию - трещинки, морщинки, углубления и прочие дефекты поверхности, а Ambient Oclusion работает на выявление и подчеркивания объема у небольших деталей, которые при расчете GI могут "потеряться" в общем объеме. Обе эти карты можно использовать одновременно или по отдельности, замешав их с основной диффузной картой через ноду Composite в режиме Multiply, а контрастность контролировать через непрозрачность слоя.

Слот Reflect

Сюда подключаем карты Specular или Reflect. Если работа ведется в Metalness WorkFlow, то Reflect должен быть просто белым. Если вы используете Specular WorkFlow, то подключаемая карта может будет серой для неметаллов, так и цветной для металлов. Подробней читать здесь - Что такое PBR? Часть V

В некоторых случаях можно использовать Cavity map, подключив её напрямую к слоту Reflect , что бы убрать отражения в мелких углублениях - это улучшит "читаемость" тонких деталей.

Слот Refract

В этот слот можно подключить карты с названиями Refract, Transmission, Transmittance, Translucency, Scatter Radius. Вне зависимости от названия, эти карты определяют прозрачность поверхности. Белый цвет это полная прозрачность, черный - это непрозрачный материал.

-5

Карты Translucency и Scatter Radius более актуальны для использования в VrayFastSSS2 и других аналогичных решениях, но и стандартный шейдер VRayMtl поддерживает упрощенный режим SSS, поэтому ничего плохого не случится если вы возьмете в "оборот" и эти карты.

Слот Bump

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

"Синенькие" карты - Normal Map подключаются исключительно через ноду VRayNormalMap. Данная нода поддерживает так же подключение и обычной Bump карты, поэтому в одном шейдере можно совместить несколько рельефных решений.

Normal Map
Normal Map

Если вы производите какие-то дополнительные манипуляции с Bump картой, например, её можно смешать с Cavity картой в режиме Multiply или производите еще какие-то манипуляции, то следует данные решения подключать к слоту Bump, через ноду VRayColor2Bump, так как в некоторых случаях шейдер может не "прочитать" композитные решения.

В целом я рекомендую все процедурные карты и растровые карты, после корректирующих или композитных нод, подключать в слот Bump через ноду VRayColor2Bump, это 100% гарантирует корректную работу вашего решения.

-7

Слот Reflection Glossy

Сюда подключаем карту Glossy или Roughness в зависимости от рабочего используемого пространства. Для использования Roughness карты, шейдер нужно перевесети в режим Use Roughness, но следует знать, что Glossy и Roughness это "зеркальные" карты, и если инвертировать Roughness, то получиться карта Glossy.

Roughness
Roughness

Слот Refraction Glossy

Для "размытия" прозрачности - VRayMtl использует только Glossy режим и если вам досталась карта Roughness для прозрачности, то её следует инвертировать.

Слот Displacement

К этому слоту нужно подключать Height карту. Силу рельефа контролировать через множитель для этого слота, а качество семплирования этой карты можно контролировать здесь: Render Setup > Settings > Default displacement

-9

Чем меньше значение Edge Length тем точней и качественней будет рельеф, но за качество нужно будет "платить" большим расходом оперативной памяти - Displacement это очень прожорливое решение.

Слот Tranclucency

К нему можно подключать цветные карты Scatter color, SSS, которые определяют цвет "внутренностей" материала. В VRayMtl данные карты будут работать только при "включенных" опциях Refract и Translucency. Сама карта, подключенная к слоту Tranclucency, будет обозначаться как Back-side color.

-10

Слот IOR

Обычно, этот параметр не запекается в отдельную карту, а настраивают непосредственно в опциях шейдера, так как эта опция использует порядок цвета, за пределами стандартного динамического диапазона, т.е. больше 1 (255 sRGB). При большом желании значение IOR можно сохранить в растровой карте через форматы *.hdr или *.exr - эти форматы поддерживают расширенный динамический диапазон.

Слот Fresnel IOR

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

В отличие от IOR, диапазон карты для Fresnel IOR лежит в пределах от 0 до 1, где черный цвет (0) это максимальное значение IOR, белый цвет это минимальное значение IOR, равное 1.

Слот Opacity

Слот для подключения карт непрозрачности. Данные карты могут иметь название Opacity, Opaque, в редких случаях - Mask. В этих картах черный цвет, задает полную прозрачность поверхности, а белый полную непрозрачность.

Слот Rougness

Этот слот для подключения карт диффузной шероховатости - Diffuse Roughness. Не стоит путать обычную карту Roughness для размытия отражений и подключать её к слоту Diffuse Roughness напрямую.

На моей практике, если честно, карты для Diffuse Roughness не мне попадались, но в сети используется следующая формула для создания Diffuse Roughness карты

Diffuse roughness = 0.33*Reflection Roughness

Исходник этого решения обсуждается здесь. На практике это можно реализовать через ноды VrayCompTex или Composite. Карта шероховатости для отражения смешивается через умножение с картой цвета со значением 0.33 и подключается в слот Rougness

-11

Слот Anisotropy

Мне доподлинно не известно, как обстоят дела с анизотропией в игровых движках, от куда собственно и перекочевала традиция "запекать" текстуры. В VRayMtl, анизотропность можно задать через черно-белую карту в диапазоне от 0 до 1, где 0 это отсутствие анизотропии, а 1 максимальное значение. Из практики - значение больше 0.8 ставить не следует.

Слот Anisotropy Rotation

Мне не попадались "запеченые" карты для анизотропии, но вот для контроля направления анизотропии - карты встречаются. На сайте poliigon.com, для некоторых металлических шейдеров предлагается в карта Direction. Для подключения таких и подобных карт нужно знать следующее VRayMtl поддерживает только черно-белые карты для определения направления анизотропии. Диапазон таких карт от 0 до 1 , где 0 эквивалентен 0 градусов, а 1 равна значению 360 градусов, поэтому все "цветные" карты, если они вам попались, следует адаптировать и привести к аналогичному решению, как на картинке ниже.

-12

Слот Fog Color

Через этот слот можно задать цвет прозрачности материала. Карты для этого слота могут иметь название Transmitance color, Observed color, Transmission Color

В Corona renderer — заявленная опция absorption color, употребляется неуместно и физически не корректна, правильней было бы использовать термин Observed Color (англ. Observed Color — наблюдаемый цвет, видимый цвет)

Слот Self-Illumination

К данному слоту подключаются карты с названием Emissive или Self-Illumination. Функции этой карты очевидны, они "заставляют" поверхность объекта светиться.

Слот Metalness

Слот служит для подключения карт "металличности." Это черно-белая карта, где черный цвет "сообщает" рендер системе, что это поверхность диэлектрика, а белый цвет, что это поверхность металла. Промежуточные значения, т.е. серый цвет, как правило, не используются. Хотя в некоторых случаях это будет оправдано - если имитировать тонкую оксидную пленку, покрывающую поверхность металла.

ID mask, Mask, RGB mask

В некоторых текстурных сетах могу попадаться цветные и не очень понятные, на первый взгляд, карты. Это могут быть простые RGB маски, где используются три локальных цвета - красный, зеленый или синий. Или сложные композитные решения, в которых "запечены" несколько свойств.

"Извлечь" нужную текстуру (свойство) из такой композитной карты можно через ноду RGB Tint заменив нужный цвет на белый цвет. Все остальные компоненты нужно сделать черными.

-14

Как правило в названии таких карт, уже обозначены свойства и каналы, в которых эти свойства "лежат", так на примере ниже представлена карта, где на красном канале лежит карта Roughness, а на зеленом Ambient Oclusion. Обычно значения прописываются по порядку расположения каналов в RGB.

-15

Или вот на этом примере

-16

За аббревиатурой RMA - скрываются Rooughness, Metalness, Ambient, которые извлекаются каждый по своему каналу RGB.

Fuzz карты

Это черно-белые карты для "рассадки растительности" на лице, ворсинок на поверхности ткани и т.д. В шейдерных решениях они, как правило, не используются. Чисто техническая маска для работы с модификаторами волос и скатер плагинов.

Подписывайте на удобные для себя каналы получения информации по ссылкам: Яндекс.Дзен | ВКонтакте | YouTube | Instagram