Всем привет!

Это первое из двух руководств, сделанных со ссылкой на версию Substance Painter 2019 года, по экспорту текстур из этой программы в различные места назначения: из другого программного обеспечения 3D (например, Unity, Unreal, V-Ray и др.) До наборов Общие текстуры для парадигмы PBR (Physically Based Rendering).

В обучающих материалах, которые я опубликовал в плейлисте Youtube «Videotutorials Substance Painter - All», я фактически показал, как использовать материалы, маски, кисти и другие инструменты, но не как экспортировать полученные результаты в форме. изображений UV-mapped Textures для использования в шаблонах в другом программном обеспечении.

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

В отличие от большинства моих руководств по Substance Painter, ресурсы (3D-модели и другие ресурсы), используемые в этом руководстве, НЕ доступны; однако вы можете следовать руководству и учиться без необходимости реплицировать операции с этими конкретными объектами!

Хорошо, сделал все эти помещения, приступим!

ПРОЕКТ, КОТОРЫЙ МЫ ИСПОЛЬЗУЕМ В ДАННОМ Учебном пособии

Я создал новый проект Substance с шаблоном «PBR - Metallic Roughness (Allegorithmic)», который использовался в видеоуроках, ранее опубликованных в плейлисте на Youtube; После импорта 3D-модели я снабдил эту модель парой стандартных материалов Substance, которые затем - с выбранным шаблоном - представляют следующие информационные каналы:

  • Base Color
  • Height
  • Roughness
  • Metallic
  • Normal

SP 2019 20191028 006 Esportare le Textures I parte Presets nativi 01

ЭКСПОРТ С ПРЕДУСТАНОВКОЙ ДЛЯ UNITY 5 (СТАНДАРТНЫЙ МЕТАЛЛИК)

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

Сначала давайте откроем меню «Файл» и выберем пункт «Экспорт текстур».

SP 2019 20191028 006 Esportare le Textures I parte Presets nativi 02

В окне «Экспорт документа - Экспорт» мы можем установить некоторые параметры; среди них, в частности, отметим:

  • щелкнув по кнопке вверху, укажите путь на диске, где будут храниться изображения текстур, которые будут созданы;
  • рядом с этой кнопкой формат файла (по умолчанию должен быть PNG) и разрядность (по умолчанию 8 бит на канал);
  • в меню «Конфигурация» - пресет экспорта; в нашем случае мы выбираем Unity 5 - Standard Metallic;
  • разрешение текстур; как и предполагалось в предыдущем руководстве по плейлисту, здесь можно работать с уменьшенным разрешением, а затем установить более высокое разрешение для текстур, которые будут сгенерированы при экспорте.

SP 2019 20191028 006 Esportare le Textures I parte Presets nativi 03

Теоретически все должно быть готово к экспорту, но при нажатии на «Экспорт» появляется сообщение об ошибке «Экспорт завершен с некоторыми ошибками (см. Журналы)» ...

 

SP 2019 20191028 006 Esportare le Textures I parte Presets nativi 04

ОШИБКИ ЭКСПОРТА: ОТСУТСТВУЮЩИЕ КАНАЛЫ ИНФОРМАЦИИ

Итак, давайте взглянем на вкладку «Журналы», которую можно активировать в меню «Окно - Просмотр - Журнал», если она недоступна.

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

SP 2019 20191028 006 Esportare le Textures I parte Presets nativi 05

Чтобы понять причину этой ошибки, мы снова открываем окно «Экспорт текстур» из меню «Файл», но на этот раз мы переходим на вкладку «КОНФИГУРАЦИЯ» в окне «Экспорт документа», затем выбираем пресет Unity 5 - Standard Metallic для проверки. Это.

SP 2019 20191028 006 Esportare le Textures I parte Presets nativi 06

Как мы видим, предустановка экспорта для Unity 5 с рабочим процессом Metallic предусматривает создание 4 изображений текстур:

  • изображение типа RGB + A (где A означает Alpha, канал непрозрачности или прозрачности), называемое «Прозрачность Альбедо», которое будет передано в канал Unity Albedo и которое будет иметь базовый цвет в трех каналах RGB и непрозрачность карта в альфа-канале;
  • изображение типа RGB + A, которое в этом случае будет хранить информацию о металле в формате RGB и, в канале прозрачности альфа, информацию, полученную из преобразованной карты - глянцевитость;
  • изображение типа RGB, называемое Нормальным, создается не начиная с Входной карты - Нормальный, а с Преобразованной карты - Нормальный OpenGL; это различие важно, потому что сгенерированная таким образом карта будет содержать не только информацию, определенную в канале Normal, но также информацию, определенную в канале высоты (помните, например, мой учебник по расстегиванию ремня?); таким образом, нормаль и высота будут объединены в одну карту нормалей, которую может использовать Unity 5;
  • наконец, изображение RGB, называемое Emission, сгенерированное из канала Input Maps - Emissive, полезно для светоизлучающих материалов (лампочки, пламя, светодиодные фонари, неон и т. д.).

ВЫБОР ПРАВИЛЬНОГО ФОРМАТА ФАЙЛА НА ОСНОВЕ КАНАЛОВ

Наличие изображений RGB + A, следовательно, с каналом прозрачности в этом пресете, также заставляет нас понять еще одну вещь: на вкладке «Экспорт» нам нужно будет выбрать формат файла, способный инкапсулировать эти 4 канала.

Элемент, выбранный по умолчанию Substance, то есть 8-битный PNG, подходит, потому что формат PNG уже предоставляет 4 канала RGBA, в то время как формат файла, такой как JPG или BMP, не подходит, потому что эти форматы предоставляют только три канала. Каналы RGB без информации об альфа-канале, поэтому - в случае Preset Unity 5 Metallic - будут отсутствовать как прозрачность (Opacity), так и гладкость материала (Glossiness).

SP 2019 20191028 006 Esportare le Textures I parte Presets nativi 07

ДОБАВИТЬ ИНФОРМАЦИОННЫЕ КАНАЛЫ ДЛЯ НАБОРОВ ТЕКСТУРЫ

Хорошо, мы сказали, что нам также нужна информация для Opacity и Emissive; да, но как добавить эти информационные каналы в наши Материалы?

Ответ кроется во вкладке «Настройки набора текстур»: здесь мы находим список информационных каналов, представленных для материала, и рядом с каждым каналом также техническую деталь: цвет или информационное пространство, которое будет связано с каждым каналом; например, для базового цвета по умолчанию используется sRGB8, то есть цветное изображение в цветовом пространстве sRGB с 8 битами информации на канал, а для каналов, которые могут быть выражены в оттенках серого (например, шероховатость и металлический), мы имеем 8-битное число в линейном пространстве (буква L), в то время как для высоты у нас есть изображение в линейном пространстве с 16-битной плавающей запятой (16F), а для карт нормалей у нас есть цветное изображение (RGB) с 16-битной плавающей запятой точность (16F).

SP 2019 20191028 006 Esportare le Textures I parte Presets nativi 08

Обратите внимание, что для параметров «Высота» и «Нормальный» предоставляется 16 бит информации, но имейте в виду, что на этапе экспорта с настройками по умолчанию на вкладке «Экспорт документа» (где, как мы видели, установленное значение составляет 8 бит), эта информация все равно будет сжат до 8 бит.

Чтобы добавить каналы непрозрачности и излучения к текущему выбранному набору текстур, щелкните значок + рядом с полем «Каналы» и выберите эти каналы из появившегося списка; Substance Painter автоматически установит тип данных, которые будут использоваться для этих двух каналов (для записи это 8-битное число в линейном пространстве, L8, для непрозрачности, которое затем выражается с помощью изображения в градациях серого, а для Emissive у нас есть цветное изображение в цветовом пространстве sRGB8, потому что световое излучение также может быть цветным: следовательно, это не простая интенсивность излучения, которую мы могли бы выразить с помощью L8, генерируя масштабированное изображение в оттенках серого, а как в цвете, так и в интенсивность).

SP 2019 20191028 006 Esportare le Textures I parte Presets nativi 09

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

… Или, в следующий раз, создайте проект с шаблоном, подходящим для наших целей; например, что касается Unity 5, Substance Painter 2019 предоставляет шаблон «Unity 5 (Allegorithmic)» при создании нового проекта, чтобы найти эти и другие настройки, уже оптимизированные для экспорта в Unity 5. В следующем руководстве в в котором мы увидим, как создать собственный пресет, мы также увидим, как создать наш собственный шаблон.

ПРОВЕРИТЬ ИНФОРМАЦИЮ ДЛЯ ВСЕХ КАНАЛОВ; ИСПОЛЬЗОВАНИЕ НАПОЛНИТЕЛЬНОГО СЛОЯ

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

Для некоторых каналов мы замечаем, что на самом деле Substance не генерирует информацию: мы замечаем это из-за текстуры шахматной доски, примененной в моем примере к таким каналам, как Normal, Height, Opacity и Emission.

SP 2019 20191028 006 Esportare le Textures I parte Presets nativi 10

Отсутствие этой информации может создать значительную проблему на этапе экспорта: фактически, Substance будет давать значение этим каналам в текстурах, обычно устанавливая цвет некоторых текстур, таких как Opacity или Emission, на черный; если для Emission это обычно нормально (потому что в большинстве случаев материалы не излучают свет), это не подходит для Opacity, потому что Opacity на черном (т.е. 0) на самом деле означает прозрачный объект!

Существуют различные возможные решения этой проблемы; здесь я расскажу вам, что я обычно делаю: для каждого набора текстур проекта я добавляю внизу слой заливки по умолчанию, то есть уровень заливки; по умолчанию этот тип слоя имеет высоту и излучение на 0,0 (черный: без рельефа или излучения света) и, с другой стороны, непрозрачность на 1,0 (белый, непрозрачный объект, непрозрачный): настройки, которые в большинстве случаев идут очень хорошо.

SP 2019 20191028 006 Esportare le Textures I parte Presets nativi 11

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

SP 2019 20191028 006 Esportare le Textures I parte Presets nativi 12

РЕЗЮМЕ ...

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

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

Прежде чем продолжить экспорт, мы можем прокрутить каналы с помощью C в 3D-виде, чтобы определить любую недостающую информацию и, при необходимости, решить проблему с помощью слоя заливки, то есть уровня заливки, который нужно разместить внизу стека. слоев и материалов на вкладке «Слои» для каждого набора текстур проекта.

Наконец, перед тем, как все экспортировать, проверьте формат файла, задав для него альфа-канал (например, PNG), если эта информация требуется, или другой формат, в зависимости от ваших потребностей.

Вот и все, что касается этой первой из двух статей по экспорту текстур из Substance Painter!

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

Как всегда, приглашаю выражать сомнения, вопросы или просьбы о разъяснениях в комментариях к видео на Youtube. До скорого!