В этой серии уроков мы разберем, как использовать текстуры Multi Engine Textures Pack, входящего во все пакеты моих 3D-моделей, для материалов рендеринга PBR (Physical Based Rendering) некоторых программ визуализации и 3D-рендеринга. В частности, вы узнаете:

Во всех уроках я буду демонстрировать изображения моей 3D-модели «Клинический термометр», которую вы видите на следующем изображении (рендеринг в Cycles для Blender 3D с использованием сцены с тремя источниками света и текстурой в качестве фона виртуальной вселенной).

Объект, используемый в этих уроках, фактически состоит из двух материалов: «glass» для прозрачных частей и «frame» для всего остального.



Я решил использовать эту модель, поскольку она представляет два материала с различными характеристиками: первый («frame») непрозрачен и имеет как металлические, так и диэлектрические части; второй материал («glass») является прозрачным, поэтому он позволит нам увидеть, как управлять прозрачностью в различном программном обеспечении.

Методы, используемые для этой 3D-модели, могут быть применены ко всем другим моим 3D-моделям, выполненным по моему стандарту, включающему:

  • материал для каждого объекта;

  • карты текстур (“UV Layout”) без наложений;

  • формат обмена FBX в пакете;

  • файл BLEND с материалом PBR4 и текстурами PBR для Cycles, включенными в файл;

и, разумеется,

  • папку MULTI ENGINE TEXTURE PACK, содержащую текстуры PBR для различных движков рендеринга для Workflow Metallic и Specular (материалы PBR).


Текстуры для материала PBR4 в Cycles / Eevee (Blender 3D 2.7x - 2.8x)

В папках ZIP моих 3D-моделей вы найдете файл BLEND, созданный в версии программы 2.7x (или более поздней). Этот файл содержит изображения текстур, связанных с материалами, присутствующими в сцене.

Файл BLEND, присутствующий в пакете, содержит изображения текстур для различных материалов сцены.



Следовательно, если вы хотите использовать объект с предоставленными мною текстурами, вам нужно просто вставить объект в сцену Blender. Разберем, как это сделать.

В сцене вашего проекта Blender, куда вы хотите вставить объект, предоставленный в пакете, выберите пункт Append в меню File.

Выберите пункт APPEND меню FILE в проекте Blender, куда вы хотите вставить объект.



Теперь в окне File Browser вам необходимо «перемещаться», чтобы импортировать нужные объекты следующим образом:

  1. найдите и выберите интересующий вас файл по его пути на диске;

  2. щелкните в меню File на раздел Object;

  3. выберите все объекты, которые вы хотите импортировать, и нажмите Append во вкладке.

Фазы APPEND; в частности, чтобы загрузить объект с материалами и текстурами, будьте внимательны при выборе OBJECT.



Затем объекты должны быть вставлены в текущую сцену с оригинальными материалами и текстурами, готовыми к трансформации по вашему желанию.

Объект, вставленный в сцену, снабжен оригинальными материалами и текстурами.



Если вы импортируете объект в пустую сцену, активируйте источники света или по крайней мере цвет фона, в противном случае вы ничего не увидите. Следующее изображение было получено путем размещения объекта в сцене, состоящей из белой плоскости, трех источников света Area Lamp и панорамного HDR-изображения в качестве фона виртуальной вселенной.

Предварительный просмотр рендеринга в сцене Blender 3D (движок рендеринга Cycles) с правильно установленными фоновыми изображениями сцены и светом.



С другой стороны, если вы хотите создать новый набор текстур, к примеру, в Substance Painter и использовать узел PBR4 для предоставленного мной материала, вам необходимо создать текстуры, совместимые с узлом PBR4. Эта операция описана в другом уроке этого руководства («Экспорт текстур для материала PBR4 Cycles / Eevee из Substance Painter 2019»).

ВАЖНОЕ ЗАМЕЧАНИЕ: (ПОЛУ)ПРОЗРАЧНЫЕ ОБЪЕКТЫ

Узел PBR 4 моих материалов обладает значением Abs Strength”, означающим “Absorption Strength” и служащим для регулирования интенсивности поглощения света, проходящего через полупрозрачный цветной или бесцветный материал.

Обратите внимание на полупрозрачные материалы в PBR4.



Для полупрозрачных цветных материалов, например, желатина, вина и других напитков, не являющихся абсолютно прозрачными, этот параметр должен быть больше 1 (значение по умолчанию), однако для воды, бриллиантов или «чистого» стекла необходимо уменьшить это значение до 0, в противном случае объект будет казаться темным.

Кроме того, необходимо правильно установить параметр IOR, являющийся показателем преломления материала, который вы можете быстро восстановить с помощью простого поиска в интернете. Например, указанное значение для алмаза будет колебаться между 2,1 и 2,4.


Экспорт текстур для материала PBR4 в Cycles / Eevee из Substance Painter 2019

В этом уроке мы разберем, как настроить экспорт текстур в Substance Painter для получения трех текстур, необходимых для материала PBR4 в Cycles / Eevee для Blender 3D.

Это полезно, потому что (как описано в другом уроке) все мои модели BLEND поставляются с этим материалом и, если вы хотите использовать его (для обеспечения согласованности с другими объектами сцены), но изменить текстуры (например, из-за их воссоздания и добавления логотипа или из-за их переделки с нуля), вам нужно знать, как экспортировать изображения необходимых текстур.

Этот урок был создан на базе Substance Painter 2019 года и предназначен для тех, кто уже хорошо знаком с программой (это не урок для начинающих).

В частности, материал PBR4 в Cycles / Eevee использует 3 изображения:

  1. изображение для базового цвета (Albedo или Base Color);

  2. изображение типа Normal Map;

  3. изображение, фактически состоящее из четырех разных изображений в оттенках серого, сохраненных в четырех каналах RGBA (Red, Green, Blue, Alpha) одного изображения PNG.

Узел PBR4 в Cycles использует 3 изображения текстур; в частности, изображение ORMA фактически состоит из 4 изображений (Occlusion, Roughness, Metallic, Alpha), ассоциированных с каналами RGBA изображения.



Таким образом, в нашем проекте Substance мы имеем полностью текстурированный объект, готовый к экспорту. В меню File Substance Painter выбираем пункт Export Textures.

В меню File программы Substance Painter выбираем Export Textures.



В появившемся окне перейдите на вкладку CONFIGURATION. Здесь мы можем выбрать, создавать ли новый Пресет экспорта для PBR4 или предпочесть существующий и добавить три необходимые текстуры в очередь, чтобы получить исходные текстуры этого набора и текстуры для PBR4 после экспорта.

Вкладка Configuration в Export Document (Export Textures).



В любом случае, для создания 3 изображений необходимо:

  1. изображение типа RGB для основного цвета. Мы записываем «cycle_ $textureSet_BaseColor» в поле Output Map этой текстуры. Не помещаем информацию о прозрачности (непрозрачности) в эту текстуру;

  2. изображение типа R+G+B+A для текстуры ORMA (Occlusion, Roughness, Metallic, Alpha). нам необходимы четыре отдельных информационных канала для вставки четырех разных карт в одну текстуру. Записываем "cycle_ $ textureSet_ORMA" в поле Output Map этой текстуры;

  3. изображение типа RGB для Normal Map. Записываем “cycles_$textureSet_normal” в поле Output Map этой текстуры.

Три изображения для экспортирования.



В этот момент мы должны перетащить карты, которые находятся на правой стороне вкладки, внутрь соответствующих слотов Output Maps. В частности, перетаскиваем:

  • карту Input Maps – Base Color в текстуре BaseColor;

  • карту Input Maps – Ambient Occlusion в слоте R текстуры ORMA;

  • карту Input Maps – Roughness в слоте G текстуры ORMA;

  • карту Input Maps – Metallic в слоте B текстуры ORMA;

  • карту Input Maps – Opacity в слоте A текстуры ORMA;

  • карту Converted Maps – Normal OpenGL текстуры normal.

Таким образом, все интересующие нас карты являются частью раздела Input Maps, за исключением карты Normal OpenGL которая находится в Converted Maps.

Привязки, которые необходимо сделать между картами Substance Painter и создаваемыми текстурами.



Наш пресет экспорта готов. Очевидно, в данный момент мы должны вернуться во вкладку EXPORT окна EXPORT DOCUMENT и, в соответствии со следующим документом, установить:

  1. путь на диске для хранения экспортируемых файлов (трех изображений текстур);

  2. формат PNG 8 бит (так как нам нужно изображение с каналом прозрачности, следовательно, нам не подходит JPG);

  3. только что созданная конфигурация (пресет), в которой представлены настройки для 3-х экспортируемых изображений для Cycles;

  4. разрешение создаваемых изображений (например, в моем случае это 2048x2048).

Вкладка EXPORT окна EXPORT DOCUMENT.



Таким образом, изображения будут экспортированы по выбранному пути и готовы к присоединению к материалу PBR4 модели в Cycles / Eevee.


Как воссоздать материал PBR объекта при помощи Specular Workflow в Marmoset Toolbag 3

В папке MULTI ENGINE TEXTURES PACK находятся, в том числе, текстуры для воссоздания материалов PBR с двумя Workflow Specular и Metallic. В этом уроке мы рассмотрим, как воссоздать материал PBR с помощью Workflow Specular в Marmoset Toolbag 3.05. Чтобы узнать, как воссоздать материал с помощью Workflow Metallic, ознакомьтесь с моим уроком по Substance Painter 2019.

Сначала импортируем файл FBX 3D-модели в новый проект Marmoset Toolbag. Для этого просто перетащите файл FBX в сцену 3D программы.

Программа немедленно распознает присутствующие материалы, связывая с ними Workflow Specular. В данном случае имеются два материала: “glass” (прозрачные части градусника) и “frame” (все остальные части).

Импортируйте файл FBX модели в 3D-сцену; Marmoset Toolbag немедленно идентифицирует имеющиеся материалы (видимые на изображении в верхнем правом углу), в этом случае “glass” и “frame”.



Нажимая наframe”, открываем окно File Browser и входим в папку с текстурами пакета.

Сейчас мы должны перетащить изображения с префиксом «PBR-SpecGloss_» и названием материала, затем перетащить их в Marmoset следующим образом:

  • изображение Diffuse в Albedo – Albedo Map;

  • изображение Glossiness в Microsurface – Gloss Map;

  • изображение Normal в Surface – Normal Map;

  • изображение Specular в Reflectivity – Specular Map.

Мы можем перетащить изображение Height.

Установление текстуры для материала PBR Specular в Marmoset Toolbag.



В случае с материалом "glass" необходимы те же действия, касаемые перетаскивания и связывания карты, однако мы должны сделать ещё одну операцию: нажать на вкладку Transparency в правом нижнем углу и выбрать элемент Refraction.

Откроется вкладка Transparency, в которой нам нужно будет установить значение Index of Refraction (я советую вам значительно снизить его, например, до 1,05 или 1,02) и, при необходимости, деактивировать поле “Use Microsurface”.

Установление Refraction и Transparency для полупрозрачных объектов.



Разумеется, на окончательный вид объекта также влияет изображение, используемое в качестве внешнего освещения. Для реализации следующего изображения я использовал пресет «Indoor Fluorescents» и уменьшил интенсивность фона (Backdrop Brightness), чтобы выделить объект.

Настройки внешнего освещения и фона сцены 3D в Marmoset Toolbag 3.




Как воссоздать материал PBR объекта при помощи Metallic Workflow в Substance Painter

В папке MULTI ENGINE TEXTURES PACK также находятся текстуры для воссоздания материалов PBR при помощи Workflow Specular и Metallic. В этом уроке мы разберем, как воссоздать материал PBR при помощи Workflow Metallic в Substance Painter 2019. Чтобы узнать, как воссоздать материал при помощи Workflow Specular, ознакомьтесь с моим уроком о Marmoset Toolbag 3.

Сначала импортируем файл FBX 3D-модели в новый проект Substance Painter. Для этого просто перетащите файл FBX в сцену 3D программы. Substance Painter немедленно попросит нас указать настройки для создания нового проекта. Можно подтвердить настройки по умолчанию и продолжить.

Создание проекта в Substance Painter 2019.



Substance Painter немедленно распознает материалы, связанные с объектом, и вставит их в секцию Texture Set List. В данном случае имеются два материала: «glass» (прозрачные части градусника) и «frame» (остальные части).

Во-первых, во всех материалах (в данном случае, в двух) необходимо удалить пустой слой, автоматически созданный Substance Painter. Сделав это, создайте FILL LAYER для каждого материала.

Для каждого материала в Texture Set List удалите Layer по умолчанию и создайте Fill Layer.



На этом этапе нам нужно импортировать текстуры в проект, для чего мы выбираем File – Import Resources, затем (в появившемся окне Import Resources) выбираем текстуры с префиксом «PBR-MetalRough_» и именем материала (в моем случае это “glass” и “frame”).

Мы также можем избежать импорта текстур типа HEIGHT.

Импорт текстуры с префиксом PBR-MetalRough. Мы также можем избежать импорта изображений типа HEIGHT.



Прежде чем нажать «Import», мы меняем тип ресурса с Undefined на Texture, затем мы выбираем (в «Import your resources to:») импорт изображений в Current Session.

Другие настройки импорта текстур.



Теперь для каждого материала мы можем начать устанавливать текстуры в различных созданных нами слотах Fill Layer, следуя соответствию между именами изображений и слотами PROPERTIES – FILL (Base Color, Metallic, Roughness, Normal).

Связывание импортированных изображений и слотов материалов в PROPERTIES - FILL.



Необходимо сделать отдельное замечание о полупрозрачных материалах, подобных стеклу: мой пакет НЕ содержит текстуру для (полу)прозрачности, называемую Alpha или Opacity, поэтому следует установить это значение вручную (или с помощью специально созданной текстуры) в поле Opacity материала во вкладке PROPERTIES – FILL.

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

Материалы могут быть экспортированы как общие PBR для Unity, V-Ray, Adobe Dimension, Unreal и других программ с использованием собственных пресетов Substance Painter 2019. Однако, если вы хотите создать текстуры для материала PBR4 Cycles, используемого в файлах BLEND, необходимо создать специальный пресет экспорта для Substance.

Инструкции по созданию пресета PBR4 в Cycles изложены в другом уроке этого руководства.


Импортирование текстур PBR для материалов в Unity 2019 (Metallic Workflow)

Для использования модели в движке рендеринга Unity 5 с Standard Shader (который использует PBR Metallic Workflow) сначала нам нужно перетащить файл FBX объекта во вкладку Project, чтобы загрузить его в текущий проект.

Объект будет состоять из двух геометрий и двух материалов, изначально серых и без текстур.

Файл FBX, импортированный в Unity, будет иметь пустые материалы без текстур.



Сейчас мы не можем изменять настройки материалов, потому что Unity импортирует файлы FBX, давая им материалы, присутствующие в файле, как это видно во вкладке Materials в Inspector для импортируемого объекта: здесь «Material Creation Mode» установлен на «Import (Legacy)», а «Location» - на «Use Embedded Materials».

По умолчанию Unity пытается импортировать материалы и текстуры непосредственно из файла FBX. Однако в нашем случае присутствуют только материалы, а изображения текстур отсутствуют.



Выбираем опцию “Use External Materials (Legacy)” для “Location” и нажимаем на Apply для применения изменений.

Выбираем опцию "Use External Materials (Legacy)" для Location и применяем изменения.



Unity создаст папку Materials и поместит туда материалы объекта, однако на этот раз мы сможем модифицировать материалы, добавляя туда текстуры. Материалы будут автоматически привязаны к объекту, поэтому после вставки копии объекта в сцену, перетаскивания ее из Project в Inspector мы сразу увидим изменения.

Новые материалы, созданные в папке Materials, будут привязаны к объекту и могут быть модифицированы.



Теперь мы можем выбрать файлы изображений с префиксом «Unity5-Metallic» из папки Multi Engine Texture Pack и перетащить их в папку «Materials» во вкладке «Project». В частности, нам нужно перетащить 3 изображения для материалов (в моем примере нужно перетащить 6 изображений, поскольку имеются 2 материала).

Перетаскиваем изображения с префиксом "Unity5-Metallic" из папки Multi Engine Texture Pack aв папку Materials проекта.



Установить текстуры для каждого материала очень просто, для этого достаточно перетащить:

  • текстуры с суффиксом AlbedoTransparency в слот канала материала;

  • текстуры с суффиксом MetallicSmoothness в слот канала материала;

  • текстуры с суффиксом Normal в слот канала материала. В этом случае необходимо также нажать на папку “Fix Now”, которая откроет вкладку материала, и отметить (“Mark”) изображение как Texture Map.

Перетащите текстуры в соответствующие слоты материала и нажмите на "Fix Now" для Normal Map.



Этого достаточно для установления базового непрозрачного материала. С другой стороны, для материалов с прозрачностью после выполнения этих привязок необходимо изменить параметр “Rendering Mode”, находящийся наверху вкладки Inspector материала, с “Opaque” (значение по умолчанию) на “Transparent”.

Для материалов с прозрачностью после выполнения привязок (как и в случае непрозрачных материалов) необходимо изменить Rendering Mode с Opaque на Transparent.




Импорт текстур PBR для материалов в Unreal Engine (версии 4.x)

Для использования модели в движке рендеринга Unreal Engine 4.x сначала необходимо перетащить файл FBX объекта в Content Browser нашего объекта Unreal.

Нажимаем на “Import All” в окне “FBX Import Options” и продолжаем, игнорируя любые предупреждения об отсутствии “Smoothing Groups” в моделях.

Импорт файла FBX в Content Browser проекта Unreal.



Игровой движок немедленно распознает объекты, присутствующие в файле FBX (в нашем примере этоframe” иglass”) и соответствующие материалы, которые изначально будут пустыми. Действительно, перетащив объекты в сцену 3D, мы увидим их однородно окрашенными без текстур.

Объекты и материалы, загруженные в Unreal.



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

Сначала перетаскиваем текстуры с префиксом UNREAL из папки Multi Engine Texture Pack в Content Browser проекта. В частности, речь идет о 3 изображениях для материала, то есть я импортирую 6 изображений.

ПРИМЕЧАНИЕ: во время импорта текстур Normal Unreal может проинформировать нас об автоматической конвертации изображения в “Normal Map”, как показано в поле в правом нижнем углу изображения ниже. Мы подтверждаем операцию Unreal, нажимая OK.

Перетащите текстуры с префиксом Unreal4 в Content Browser проекта. Нажмите OK, если Unreal информирует вас о трансформации Normal Maps.



После импорта изображений в проект мы делаем двойной клик по материалу, чтобы вставить туда изображения текстур. По умолчанию с узлом материала связан пустой узел: выбрав и удалив его, мы перетаскиваем в редактор материалов три изображения текстур из Content Browser.

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



В этом примере я выбираю материалframe”, то есть непрозрачные части (металлические или диэлектрические), присоединяя текстуры следующим образом:

  • композитный выход (RGBA) текстуры BaseColor во вход BaseColor узла материала;

  • выход R текстуры OcclusionRoughnessMetallic во вход Ambient Occlusion узла материала;

  • выход G текстуры OcclusionRoughnessMetallic во вход Roughness узла материала;

  • выход B текстуры OcclusionRoughnessMetallic во вход Metallic узла материала;

  • композитный выход (RGBA) текстуры Normal во вход Normal узла материала.

Соединяем выходы трех изображений текстур с входными портами узла материала.



Сохраняем изменения и возвращаемся в главное окно программы.

Перейдем теперь к полупрозрачным материалам (в нашем примере кglass”), для чего делаем двойной клик на новый материал, и мы вновь переходим в редактор материала.

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

Однако в этом случае мы делаем ещё одну привязку: мы берем выход Alpha (последний) из текстуры Color Base и подключаем его к входу Opacity узла материала.

Мы используем ту же конфигурацию для (полу)прозрачных материалов. Однако в этом случае мы также подключаем выход Alpha изображения BaseColor ко входу Opacity узла материала.



Однако после сохранения изменений объект всё ещё будет непрозрачным.

Это связано с тем, что слева в редакторе материалов необходимо изменить «Blend Mode» материала с Opaque (значение по умолчанию) на Translucent для выбранного материала. Также в левом нижнем углу вкладки необходимо изменить параметр “Lighting Mode” на “Surface Forward Shading”.

Необходимо установить Blend Mode на Translucent и Lighting Mode на Surface Forward Shading для полупрозрачных материалов.



Мы вновь сохраняем изменения и возвращаемся к главному окну 3D программы: сейчас полупрозрачный материал будет визуализирован правильным образом.

Финальный результат.



ПРИМЕЧАНИЕ: Если объект получился "слишком прозрачным" (невидимым), вы можете подключить узел Scalar к входу Opacity узла материала и установить, к примеру, значение Scalar на 0,1 или 0,2, делая объект полупрозрачным (при этом остающимся видимым).


 

Импорт текстур PBR для материалов V-Ray 4.20 в 3D Studio MAX 2020

В этом уроке мы разберем, как настроить текстуры PBR из пакета Multi Engine Textures Pack в материале V-Ray Next Update 2 (версии 4.20) для 3D Studio MAX 2020.

Для рендеринга этого урока я использовал источники света и фоновое изображение в проекте 3D Studio MAX. Действительно, без этих элементов рендеринг был бы черным. Я также добавил плоскость (светло-серую), на к\оторой можно расположить объект для визуализации теней.

Начальная сцена: кроме объекта присутствует плоскость, источник света и виртуальная телекамера.



Начнем с более простого непрозрачного материалаframe.

Создадим материал типа VRayMtl и назначим его объекту frame” сцены.

Затем нажмем на квадратные ячейки рядом со слотами «Diffuse», «Reflect» и «Reflect Glossiness» в разделе «Basic Parameter» материала. Каждый раз будет появляться окно «Material/Map Browser», в котором необходимо указать, что мы хотим создать BITMAP для этого канала. Далее нужно указать в качестве изображения соответствующую текстуру, используя для его распознавания суффикс, присутствующий в имени файла, например, для слота Diffuse материала "frame" нужно установить текстуруvray_frame_diffuse.png”.

Три из четырех используемых нами карт будут картами типа Bitmap. Мы сможем легко узнать их по именам файлов в Multi Engine Texture Pack.



Чтобы установить четвертое изображение, то есть Normal Map, выполним следующие действия: откроем раздел Maps материала, затем нажмем на слот Bump и изменим тип на VrayNormalMap. Внутри этого объекта мы можем установить соответствующую текстуру в слоте Normal Map (в данном случаеvray_frame_normal.png”).

Чтобы установить Normal Map, нажмем на Bump и изменим тип на VRayNormalMap, затем перетащим текстуры Normal в слот Normal Map.



Как видите, чтобы установить материал в V-Ray с текстурами PBR, предоставленными в Multi Engine Texture Pack, достаточно присоединить четыре изображения PNG, узнаваемые по их имени (Diffuse, Reflection, Reflection Glossiness, Normal).

С другой стороны, для материалаglass” и прочих материалов, обладающих прозрачностью, необходимо выполнить те же базовые действия, рассмотренные нами на примере непрозрачного материала frame” (то есть присоединить четыре изображения текстур к соответствующим слотам материала), после чего следует выполнить три простые операции в разделе “Reflect” вкладки “Basic Parameters”:

  • активировать ячейку “Affect Shadows”, иначе материал будет черным;

  • изменить “Refract Color” на чисто белый или светло-серый (почти белый), если материал окажется слишком прозрачным;

  • снизить значение “IOR”, например, до 1,04.

Чтобы установить полупрозрачный материал VRayMtl, после загрузки четырех изображений текстур (как и в случае непрозрачных материалов), необходимо уделить внимание настройкам Refract Color, Refract IOR и Affect Shadows раздела Basic Parameters материала.



Таким образом, материалы будут настроены правильно.

Рендеринг изображения.