В этом уроке мы рассмотрим, как создать Material Preset в Substance Painter, то есть как определить собственный Fill Layer, настроив текстуры для Base Color, Normal и других информационных каналов, а затем сохранить его в разделе Materials панели Shelf, чтобы впоследствии использовать в других сеансах Substance.
Видеоверсия этого руководства в настоящее время недоступна на этом языке, но доступна на английском языке при выборе соответствующего языка в верхней части страницы.
Текстовая расшифровка видео
Всем привет! В этом уроке мы рассмотрим, как создать Material Preset в Substance Painter, то есть как определить собственный Fill Layer, настроив текстуры для Base Color, Normal и других информационных каналов, а затем сохранить его в разделе Materials панели Shelf, чтобы впоследствии использовать в других сеансах Substance.
Мы хотим создать Material Preset, чтобы иметь единый элемент Material, состоящий всего из одного слоя, а не группу элементов, которая может включать фильтры, слои или генераторы на основе текстур, как это происходит в случае со Smart Materials. Идея состоит в том, чтобы создать такой элемент и перетаскивать его в стек слоёв нашего проекта, применяя его к объектам полностью или частично с помощью layer masks.
... однако прежде чем продолжить, давайте на минуту задумаемся, ЗАЧЕМ вообще это делать, учитывая, что мы можем создавать Smart Materials, которые, по крайней мере на первый взгляд, кажутся гораздо более гибкими. Действительно, Smart Materials могут содержать несколько Layers и Materials, а в некоторых случаях также фильтры, слои или генераторы, основанные на картах, созданных с помощью операций Bake или других инструментов.
Первая причина, которая приходит на ум для создания простого Material Preset, заключается в необходимости собрать материал из внешних изображений Texture, например изображений Base Color, Normal и Roughness, полученных из фотографий, сканов или даже созданных вручную вами либо кем-то другим. Это также могут быть бесшовные Textures, которые можно многократно повторять на поверхности без появления заметных швов.
В этом и подобных случаях нет необходимости использовать Smart Material. Достаточно:
импортировать Textures в текущий сеанс Substance через File → Import Resources, указав тип ресурса «Texture» и выбрав импорт в «Current Session», поскольку сохранять ЭТИ ФАЙЛЫ в Shelf нет необходимости, так как мы будем сохранять сам Material;

создать пустой Fill Layer, оставив активными только нужные каналы в разделе «Properties - Fill» панели Tool Shelf. Я использую рабочий процесс PBR Metallic, поэтому включаю каналы Color, Metal, Roughness, Normal, Height и Opacity. Последний нужен лишь для того, чтобы сообщить Substance, что в данном примере материал не является прозрачным;

перетащить импортированные Textures в Fill Layer, поместив их в соответствующие слоты, либо задать значения, которые будут равномерно применяться ко всей поверхности. В моём случае, например, я устанавливаю параметр Opacity равным 1;

... и наконец, щёлкнуть правой кнопкой мыши по пустой области панели Properties - Fill и выбрать в появившемся меню пункт «Create Material Preset»: готово!

Material, созданный таким образом, сразу станет доступен в разделе Materials панели Shelf и сможет использоваться как любой другой базовый материал Substance в этом и последующих проектах.

Material также можно создать из Smart Material, получив его «сплющенную» версию, подобно объединению стека слоёв в один слой в программах для редактирования изображений. Это может быть полезно, например, для экономии вычислительных ресурсов и даже дискового пространства в файле проекта при работе с очень сложными сценами. Так мы переходим ко второй причине, рассматриваемой в этом уроке, для демонстрации которой я использую немного более продвинутый пример.
Предположим, у нас есть набор отдельных 3D-объектов, каждый со своим проектом Substance, содержащим один или несколько Materials и Smart Materials, и мы хотим объединить всё это в один объект с одним Texture Set. Лично мне приходилось делать это много раз, объединяя несколько Assets в единые элементы или по крайней мере в Assets, использующие один Texture Set, чтобы уменьшить потребление ресурсов в приложениях реального времени.

В этом случае я начинаю работу в программе для 3D-графики, в моём случае это Blender, и выполняю следующие действия:
размещаю все 3D-модели в сцене Blender, удаляю все исходные материалы и назначаю объектам новый материал, используя один общий материал для всех объектов;

затем масштабирую и перемещаю UV islands этих объектов так, чтобы все они помещались в одном UV-пространстве без перекрытий. На этом этапе полезно масштабировать различные UV-карты пропорционально размерам объектов в сцене. Например, ручка может занимать гораздо меньшую область UV, чем стол;

перед экспортом я решаю, объединять ли все объекты в один объект или оставить их раздельными, но при этом использующими общее UV-пространство и один и тот же Material. Выбор зависит от того, как будет использоваться эта коллекция объектов. Например, если весь набор останется на заднем плане финального приложения и никогда не возникнет необходимости отдельно перемещать, вращать или удалять его элементы, то я объединяю всё в один Object. В противном случае оставляю объекты раздельными;

наконец, экспортирую всё на диск в формате FBX.

Вернувшись в Substance Painter, мне предстоит работать в несколько этапов. Сначала необходимо создать Materials для каждого отдельного объекта, как было показано в первом примере этого урока. Затем я размещу эти Materials в новом проекте и преобразую их так, чтобы они соответствовали новому UV Layout.

Первый этап может оказаться довольно утомительным, поскольку мне нужно открыть каждый отдельный проект Substance и экспортировать набор текстур PBR Metallic в виде файлов изображений во временную папку. Это необходимо сделать для каждого проекта, но есть и хорошая новость: как только я создам Material Preset из этих текстур, он останется доступным в моей библиотеке для будущего использования. На практике эту операцию нужно выполнить только один раз для каждого Asset в вашей библиотеке.

После завершения всех необходимых экспортов мы наконец можем создать новый проект Substance с Asset, который хотим текстурировать. Этот проект будет содержать единственный Material, построенный путём назначения различных Materials, масштабированных, перемещённых и с отключённым параметром UV Wrap в панели Properties - Fill, определённым областям UV Layout.

Хотя отдельные слои и эффекты из исходных материалов отдельных объектов больше не будут доступны, мы всё равно сможем добавлять к этим Fill Layers фильтры и другие эффекты. В итоге мы сможем экспортировать весь Texture Set, получив модель и текстуры для одного материала.

Что ж, на этом урок завершён! До встречи в следующий раз!