Переносим карты текстур из Substance Painter в Vray

19 янв 2018
Переносим карты текстур из Substance Painter в Vray

В данной статье рассмотрим, каким образом корректно перенести карты текстур, из программы текстурирования Substance Painter в модуль визуализации Vray, установленный в 3DS MAX. При этом основная наша задача состоит в том, что бы материалы созданные в Substance Painter были максимально близко похожи на те, которые мы получим в 3DS MAX, после их визуализации в Vray.

Прежде чем приступить к изложению материала, сначала следует привести настройки гаммы, применяемые в Вашем компьютере в соответствие с теми настройками, которые были заданы при написании данной статьи. Иначе, результат который получите Вы, будет отличаться от приведённых здесь примеров.
В главном меню выберем Customize, затем Preferences:

вызов панели настроек в 3ds max

Откроется панель Preference Setting:

настройки гаммы в 3ds max

Выберите вкладку Gamma and LUT и если настройки гаммы у Вас отличаются от тех, что Вы видите, установите их так как это показано на рисунке. Затем нажмите на кнопку OK и закройте диалог Preference Setting.

Материал данной статьи предполагает, что Вы уже знакомы с программой Substance Painter, поэтому здесь речь пойдёт не о принципах создания материалов, а о переносе созданных Вами карт текстур.

Итак, материал в Substance Painter уже создан и теперь перед Вами стоит задача корректно перенести всё то что Вы создали, в Vray. Для этого воспользуемся стандартным пресетом, позволяющим трансформировать карты текстур из Substance Painter в Vray.
В панели инструментов программы Substance Painter жмём на File и в раскрывшемся списке команд выбираем Export Textures:

Экспорт из Substance Painter в Vray

Откроется панель экспорта карт текстур:

панель экспорта карт текстур из Substance Painter в Vray

Разберём настройки панели.

1 – проследите что Вы находитесь во вкладке Export.

2 – здесь следует выбрать путь для экспорта карт текстур.

3 – список, раскрыв который, Вы увидите форматы файлов для экспорта текстур. Здесь я Вам советую выбрать формат, который не сжимает экспортируемый файл, или сжимает без потери качества, к примеру, формат tiff или png. Если Вы выберете формат, который сжимает файл с потерей качества (например, jpeg) ,то после визуализации Вашей 3D модели это может негативно сказаться на её качестве после рендеринга.

4 - обязательно проследите что бы из всех возможных пресетов, предлагаемых Substance Painter, был выбран пресет Vray, потому как мы экспортируем файлы именно для этого модуля визуализации.

5 – если Вы не ошиблись на предыдущем шаге (п.4), и выбрали правильный пресет, то раскрыв свиток Texture sets увидите список экспортируемых текстур для Vray. Первая и вторая надпись нас не интересует. Это данные, предоставляемые пользователем. Здесь первая надпись - это название объекта сцены импортируемой из 3DS MAX, а вторая – материал присвоенный объекту в 3DS MAX. Так здесь, для текстурирования, я импортировал Кольцо и присвоил ему временный материал Кольцо-temp. Куда больше нас интересует название карт текстур:

Diffuse
Reflection
Glossiness
ior
Height
Normal

Карту Emissive здесь не рассматриваем, потому как она кране редко используется и задаёт степень самосвечения материала, которую лучше и проще задать непосредственно в сцене.

6 – задаём размер экспортируемых текстур. Чем выше размер, тем лучше качество визуализируемых материалов получим после визуализации сцены.

Всё вышесказанное я привожу Вам для справки, потому как это относиться к общим принципам экспортирования карт текстур. И если Вы решили не просто экспортировать карты текстур из Substance Painter в Vray, а разобраться как это сделать корректно, то всё написанное ранее, наверняка Вам хорошо знакомо.

Пора переходить к самому главному.
Жмём на крупную кнопку Export и экспортируем текстуры по выбранному Вами (п.2) пути. Открыв проводник, мы увидим карты, которые были экспортированы:

карты текстур Substance Painter

Далее следует задать настройки материала в 3DS MAX и перенести карты текстур в соответствующие слоты карт визуализатора Vray.

Зададим необходимые настройки для материала.
Переходим в 3DS MAX и открываем редактор материалов (клавиша M). Выбираем первый свободный слот и помещаем туда стандартный материал VRayMtl:

настройки материала для физически корректного рендера

В настройках материала не забудьте проследить, что бы у параметра Fresnel reflections, была установлена галочка.
Отожмите (если она была нажата) букву L у параметра Fresnel IOR. При этом данная надпись и цифра 1,6 расположенная справа от неё, будут активированы (их цвет измениться с негативного на белый).
В свитке BRDF раскройте список выбора моделей шейдинга и выберите Microfacet GTR (GGX). Выбор данной модели шейдига обусловлен тем, что программа Substance Painter создаёт материалы основанные на физически корректном рендеринге (PBR – physically-based rendering). И выбор данной модели шейдинга даёт наибольшую (если так можно выразиться) схожесть того изображения что Вы видите в программе Substance Painter, с изображением визуализируемым в Vray. Здесь есть некоторое ограничение. Если мне не изменяет память, то модель шейдинга Microfacet GTR (GGX) появилась в модуле визуализации Vray, начиная с версии V-Ray Adv 3.20.00. Если у Вас более ранняя версия Vray, то данная модель шейдинга будет для Вас недоступна. Говоря простым языком, Вы её в списке не увидите. Тут уж ничего не поделаешь, придётся Вам выбирать другую модель и тут уже на Ваш вкус. Но Вы должны понимать, что выбор иной модели шейдинга, неизбежно скажется на качестве визуализируемого материала – иногда сильно, иногда почти не заметно.

Далее перенесём карты текстур экспортированные ранее из Substance Painter, в соответствующие слоты карт Vray.
Переходим в панель Maps:

перенос карты Diffuse из Substance Painter в Vray

Справа от параметра Diffuse расположена кнопка с надписью None. Нажав (кликнув мышью) на эту кнопку, открываем панель Material/Map Browser:

панель Material/Map Browser в 3ds max

Здесь следует развернуть свиток Maps, в качестве карты выбрать стандартную карту растрового изображения Bitmap и нажать OK.
Откроется панель выбора карт текстур Select Bitmap Image File:

панель Select Bitmap Image File

В качестве карты Diffuse следует выбрать карту текстуры с одноимённым окончанием названия, т.е. в нашем случае это будет Кольцо_Кольцо-temp_Diffuse.tif.
Здесь и далее нас будет интересовать только последняя фраза в названии карты текстуры.
Название выбранной карты текстуры появиться в поле File name.
В поле выбора гаммы выбранной карты текстуры следует установить галочку возле поля Automatic (Recommended). Автоматический выбор гаммы для карты текстуры следует выбирать всегда, когда мы имеем дело с типом карты имеющей цветное, а не монохромное изображение. Если Вы сейчас посмотрите на чёрный квадрат, расположенный в нижней части панели Select Bitmap Image File, то не увидите никакого цветного изображения. Всё дело в том, что в данной статье я привожу пример реального текстурирования кольца имеющий материал позолоты для одной из своих статей посвящённых каустике в Vray. А для полированного металла позолоты цвет Diffuse следует выбирать чисто чёрным. Сам я, разумеется, никакого цвета не выбирал. В Substance Painter Вы занимаетесь текстурированием 3D модели не задумываясь о том, какие карты текстур у Вас получатся, а все необходимые карты текстур при импортировании, создаёт сама программа. И в данном случае текстурная карта Diffuse получилась такая, какой она должна быть в соответствии с физически корректным материалом полированного металла. Но это частный случай. Разумеется, диффузная карта может и как правило имеет в своём составе цветное изображение. Поэтому для слота Diffuse всегда следует выбирать Automatic (Recommended).
Далее следует нажать кнопку Open и загрузить карту в соответствующий слот материала Vray.
В поле Statistics приведена справочная информация о размере карты и её краткие характеристики.

Аналогичным образом следует загружать и другие карты в соответствующие слоты карт материала Vray. Поэтому для того, что бы не повторяться, я буду акцентировать внимание на индивидуальных отличиях загрузки оставшихся карт. Исключением здесь, являются карты Bump, на их загрузке я остановлюсь подробнее.

Следующей картой, которую следует загрузить - является карта Reflect:

перенос карты Reflect из Substance Painter в Vray

Жмём на кнопку None, справа от параметра Reflect. Открывается диалог Material/Map Browser. В открывшемся диалоге выбираем карту Bitmap, после чего откроется панель выбора карт текстур Select Bitmap Image File:

карта Reflect

Выбираем карту текстуры Reflection. Обратите внимание, что при выборе гаммы, так же как и в предыдущем случае, устанавливаем галочку возле Automatic (Recommended), потому как данная карта текстур может иметь (и в данном случае, как Вы заметили имеет) цветное изображение. Видно, что цвет карты Reflection представляет собой желтоватый цвет позолоты.
Здесь следует добавить, что некоторые наставления зарубежных сайтов предлагают контролировать структуру этой карты, потому как гораздо чаще карта Reflection имеет чёрно-белую (монохромную) структуру и в таком случае в параметре выбора гаммы следовало бы установить галочку возле параметра Override. Какое то время я именно так и поступал. Сейчас я отказался от подобного контроля и всегда устанавливаю гамму в карте Reflection в Automatic (Recommended), потому как практика показала, что никакой разницы в конечном результате визуализируемого изображения - нет. Но время на это приходится тратить и в случае ошибки вместо цветного изображения (как в данном случае жёлтой позолоты) можно получить результат в оттенках серого. Так что имейте это ввиду и как в данном случае поступить Вам – решайте сами.
Далее следует нажать кнопку Open и загрузить карту в соответствующий слот материала Vray.

Следующей картой, которую следует загрузить - является карта Glossiness:

перенос карты Glossiness из Substance Painter в Vray

Обратите внимание, что в слотах материала Vray имеются три карты включающие в свой состав аббревиатуру Glossiness. Не ошибитесь при выборе и поставьте карту в слот RGlossiness как это показано на рисунке, иначе, после визуализации Вашей 3D модели, получите не тот результат, который Вы создали в программе Substance Painter.
Жмём на кнопку None расположенную справа от параметра RGlossiness. Открывается диалог Material/Map Browser. В открывшемся диалоге выбираем карту Bitmap, после чего откроется панель выбора карт текстур Select Bitmap Image File:

карта Glossiness

Выбираем карту текстуры Glossiness. Поскольку карта глянцевидности (Glossiness) не может быть цветной (она всегда монохромна), то в данном случае в качестве выбора гаммы для карты ставим галочку возле Override. Затем, нажав на кнопку Open загружаем карту Glossiness в соответствующий слот материала Vray.

Следующей по списку картой, которую следует загрузить, идёт карта ior:

перенос карты ior из Substance Painter в Vray

Здесь имеем два слота, в которых существует аббревиатура IOR. Загрузить карту следует в слот Fresnel IOR, как это показано на рисунке, иначе результат визуализации будет отличаться от созданной Вами текстуры Substance Painter.
Жмём на кнопку None расположенную справа от параметра Fresnel IOR. Открывается диалог Material/Map Browser. В открывшемся диалоге выбираем карту Bitmap, после чего откроется панель выбора карт текстур Select Bitmap Image File:

карта ior в Vray

Выбираем карту текстуры ior. Поскольку карта ior не может быть цветной (она всегда монохромна), то в данном случае в качестве выбора гаммы для карты ставим галочку возле Override. Затем, нажав на кнопку Open загружаем карту ior в соответствующий слот материала Vray.

Последним параметром, в который следует загрузить карту, является Bump. Забегая вперёд, скажу, что здесь следует загружать не одну, а две карты текстуры. Но обо всём по порядку.
Жмём на кнопку None расположенную справа от параметра Bump:

перенос карты Bump из Substance Painter в Vray

Открывается диалог Material/Map Browser. В открывшемся диалоге выбираем карту Normal Bump:

карта Normal Bump

Далее жмём на OK, после чего откроется панель с параметрами карты Normal Bump:

параметры карты Normal Bump

Жмём на кнопку None, расположенную справа от параметра Normal, открывается диалог Material/Map Browser:

экспорт карт текстур из Substance Painter в Vray

В открывшемся диалоге выбираем карту Bitmap и жмём на OK, после чего откроется панель выбора карт текстур Select Bitmap Image File:

применение карты Normal Bump

Выбираем карту нормалей (Normal.tif). При выборе гаммы, здесь следует выбрать Override. Следует отметить, что карта нормалей не является картой представляющую собой оттенки серого. Это цветная карта. Но гамму для этой карты следует выбирать как для карты в оттенках серого. Иначе, при визуализации Вашей 3D модели Вы можете столкнуться с артефактами нормалей, которые испортят Вашу модель.
Далее, нажав на кнопку Open загружаем карту Normal.

Аналогично загружаем карту во второй свободный слот карты нормалей Normal Bump:

карта Additional Bump

Жмём на кнопку None справа от Additional Bump. Открывается диалог Material/Map Browser. В открывшемся диалоге выбираем карту Bitmap и жмём на OK, после чего откроется панель выбора карт текстур Select Bitmap Image File:

экспорт карты Height из Substance Painter в Vray

Выбираем карту высоты (Height.tif). Поскольку карта высоты не может быть цветной (она всегда монохромна), то в данном случае в качестве выбора гаммы ставим галочку возле Override. Затем, нажав на кнопку Open загружаем карту высоты во второй слот карты Normal Bump:

Экспорт материала из Substance Painter в Vray

Обратите внимание на галочки и цифровые данные, обведённые красным прямоугольником. Если в результате тестовых рендеров Вашей модели Вы сочтёте, что составляющую карты нормалей, или карты высоты следует увеличить (или уменьшить), то следует соответственно изменить числовые параметры этих значений. Если влияние какой-либо из карт Вы хотите убрать вовсе, то отключить карту можно сняв галочку, расположенную справа от кнопки с её названием. Такой подход даёт большую гибкость в настройках карты нормалей и высоты. Так же не забывайте, что карта нормалей позволяет вводить не только положительные, но и отрицательные числовые значения. Что, в свою очередь, позволяет вместо выступающих частей модели, делать углубления внутрь, если в этом возникнет необходимость.

В конечном итоге мы получили следующую структуру материала Vray с учётом внедрённых в этот материал карт из Substance Painter:

карты текстур перемещённые из Substance Painter в Vray

Изучив материал данной статьи Вы можете использовать вышеприведённое изображение как шпаргалку. Там достаточно ясно видно, какую из карт сгенерированную программой текстурирования Substance Painter следует поместить в соответствующий слот материала Vray. Не забудьте, что в Normal Bump находятся две карты (карта нормалей и карта высоты).
Так же учтите и глобальные настройки материала Vray, про которые шла речь в начале статьи. Я Вам ещё раз их покажу на рисунке ниже:

настройки Vray

Перед тем как перейти к заключению, поделюсь с Вами некоторыми соображениями, которые позволят улучшить результаты Вашей работы.
Не пытайтесь добиться полного стопроцентного сходства сделанных Вами текстур в Substance Painter и Vray. Различия всё равно будут. Это нормально. Вы наверно заметили, что здесь мы никак не регулировали значения числовых параметров карт в материале Vray. Практически все эти параметры, остались по умолчанию равными 100 и только значение Bump равно 30, но и это то же значение по умолчанию. Всё дело в том, что такие значения как раз и дают максимальное сходство текстур модели как в Substance Painter, так и после их визуализации в Vray. Но это не догма. Конечно, следует изменить значения числовых параметров определяющих степень влияния карт текстур, если это будет необходимо. Здесь я имею ввиду в основном те параметры, которые соответствуют 100. Что же касается числовых значений у параметра Bump, то здесь заданные величины весьма условны. Их наверняка потребуется изменить в ту, или иную сторону, после того как Вы проведёте тестовые рендеры. Не забывайте так же, что в немалой степени влияет на конечный результат, освещение Вашей сцены. Вы никогда не сможете сделать освещение в 3DS MAX, точно таким же какого оно было в Substance Painter. К тому же есть такие моменты, изложить которые в данной статье не представляется возможным, потому как они выходят далеко за рамки статьи, но при этом весьма сильно могут повлиять на конечный результат. К примеру, если Вы захотите немного размыть материал металла сделав его чуть более матовым, то для этого Вам следует уменьшить значение RGlossiness (см. картинку выше) c единицы до некоторого значения, определить которое можно только экспериментальным путём. Но при этом Вам наверняка придётся увеличить количество в поле Subdivs, что бы сглаживание при рендеренге этого материала оставалось на должном уровне. Подобные нюансы влияют на конечный результат, но это уже отдельная история связанная с созданием и редактированием материалов для Vray. Углубляться в эту необъятную тематику мы не будем.
Данная статья даёт Вам ясное понимание того, какие карты текстур экспортированных из Substance Painter, следует поместить в соответствующие слоты карт Vray. При этом Вы гарантированно получите удовлетворительный результат, схожий с оригиналом. А остальная тонкая доводка материала – это уже дело практики и дополнительных знаний.

В заключении хочу привести Вам практический результат рассмотренного здесь примера. Поскольку в данной статье речь шла о текстурирования кольца, то резонно было бы взглянуть на конечный результат. Ниже приведены два скриншота. Слева – кольцо текстурированное в Substance Painter. Справа – то же самое кольцо после его визуализации в Vray:

 

Разумеется, эффект каустики, который Вы видите на кольце – это не заслуга Substance Painter, это заслуга модуля визуализации Vray. Но это уже совсем другая история, узнать про которую Вы сможете, прочитав статью посвящённую каустике в Vray.

 

P.S. В июне 2018г., вышел видеокурс по моделированию, текстурированию и визуализации футбольного мяча в 3DS MAX. Видеоролик последней (четвёртой) части полностью соответствует тематике данной статьи. Посмотреть его можно здесь:

 Экспорт текстур из Substance Painter в Vray

Наверх