Учебное пособие по Substance Painter 2019 - Экспорт текстур - Часть I: Собственные пресеты
Всем привет!
Это первое из двух руководств, сделанных со ссылкой на версию 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
ЭКСПОРТ С ПРЕДУСТАНОВКОЙ ДЛЯ UNITY 5 (СТАНДАРТНЫЙ МЕТАЛЛИК)
Теперь предположим, что мы хотим экспортировать наборы текстур (в моем случае три: по одному для каждого набора текстур в списке наборов текстур), например, для Unity 2019.
Сначала давайте откроем меню «Файл» и выберем пункт «Экспорт текстур».
В окне «Экспорт документа - Экспорт» мы можем установить некоторые параметры; среди них, в частности, отметим:
- щелкнув по кнопке вверху, укажите путь на диске, где будут храниться изображения текстур, которые будут созданы;
- рядом с этой кнопкой формат файла (по умолчанию должен быть PNG) и разрядность (по умолчанию 8 бит на канал);
- в меню «Конфигурация» - пресет экспорта; в нашем случае мы выбираем Unity 5 - Standard Metallic;
- разрешение текстур; как и предполагалось в предыдущем руководстве по плейлисту, здесь можно работать с уменьшенным разрешением, а затем установить более высокое разрешение для текстур, которые будут сгенерированы при экспорте.
Теоретически все должно быть готово к экспорту, но при нажатии на «Экспорт» появляется сообщение об ошибке «Экспорт завершен с некоторыми ошибками (см. Журналы)» ...
ОШИБКИ ЭКСПОРТА: ОТСУТСТВУЮЩИЕ КАНАЛЫ ИНФОРМАЦИИ
Итак, давайте взглянем на вкладку «Журналы», которую можно активировать в меню «Окно - Просмотр - Журнал», если она недоступна.
На этом листе мы читаем, что в наборе трех текстур отсутствуют два информационных канала: непрозрачность и эмиссия.
Чтобы понять причину этой ошибки, мы снова открываем окно «Экспорт текстур» из меню «Файл», но на этот раз мы переходим на вкладку «КОНФИГУРАЦИЯ» в окне «Экспорт документа», затем выбираем пресет Unity 5 - Standard Metallic для проверки. Это.
Как мы видим, предустановка экспорта для 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).
ДОБАВИТЬ ИНФОРМАЦИОННЫЕ КАНАЛЫ ДЛЯ НАБОРОВ ТЕКСТУРЫ
Хорошо, мы сказали, что нам также нужна информация для Opacity и Emissive; да, но как добавить эти информационные каналы в наши Материалы?
Ответ кроется во вкладке «Настройки набора текстур»: здесь мы находим список информационных каналов, представленных для материала, и рядом с каждым каналом также техническую деталь: цвет или информационное пространство, которое будет связано с каждым каналом; например, для базового цвета по умолчанию используется sRGB8, то есть цветное изображение в цветовом пространстве sRGB с 8 битами информации на канал, а для каналов, которые могут быть выражены в оттенках серого (например, шероховатость и металлический), мы имеем 8-битное число в линейном пространстве (буква L), в то время как для высоты у нас есть изображение в линейном пространстве с 16-битной плавающей запятой (16F), а для карт нормалей у нас есть цветное изображение (RGB) с 16-битной плавающей запятой точность (16F).
Обратите внимание, что для параметров «Высота» и «Нормальный» предоставляется 16 бит информации, но имейте в виду, что на этапе экспорта с настройками по умолчанию на вкладке «Экспорт документа» (где, как мы видели, установленное значение составляет 8 бит), эта информация все равно будет сжат до 8 бит.
Чтобы добавить каналы непрозрачности и излучения к текущему выбранному набору текстур, щелкните значок + рядом с полем «Каналы» и выберите эти каналы из появившегося списка; Substance Painter автоматически установит тип данных, которые будут использоваться для этих двух каналов (для записи это 8-битное число в линейном пространстве, L8, для непрозрачности, которое затем выражается с помощью изображения в градациях серого, а для Emissive у нас есть цветное изображение в цветовом пространстве sRGB8, потому что световое излучение также может быть цветным: следовательно, это не простая интенсивность излучения, которую мы могли бы выразить с помощью L8, генерируя масштабированное изображение в оттенках серого, а как в цвете, так и в интенсивность).
Но будьте осторожны: мы добавили эти два информационных канала только для текущего набора текстур; чтобы избежать ошибок, мы должны повторить операцию и для других наборов текстур проекта ...
… Или, в следующий раз, создайте проект с шаблоном, подходящим для наших целей; например, что касается Unity 5, Substance Painter 2019 предоставляет шаблон «Unity 5 (Allegorithmic)» при создании нового проекта, чтобы найти эти и другие настройки, уже оптимизированные для экспорта в Unity 5. В следующем руководстве в в котором мы увидим, как создать собственный пресет, мы также увидим, как создать наш собственный шаблон.
ПРОВЕРИТЬ ИНФОРМАЦИЮ ДЛЯ ВСЕХ КАНАЛОВ; ИСПОЛЬЗОВАНИЕ НАПОЛНИТЕЛЬНОГО СЛОЯ
После добавления недостающих информационных каналов для всех наборов текстур мы смотрим на эти каналы отдельно в трехмерном представлении, выбирая их в селекторе в правом верхнем углу трехмерного представления или нажимая несколько раз ярлык «C», чтобы изменить их. циклически (клавиша «M» для возврата к общему виду Материала).
Для некоторых каналов мы замечаем, что на самом деле Substance не генерирует информацию: мы замечаем это из-за текстуры шахматной доски, примененной в моем примере к таким каналам, как Normal, Height, Opacity и Emission.
Отсутствие этой информации может создать значительную проблему на этапе экспорта: фактически, Substance будет давать значение этим каналам в текстурах, обычно устанавливая цвет некоторых текстур, таких как Opacity или Emission, на черный; если для Emission это обычно нормально (потому что в большинстве случаев материалы не излучают свет), это не подходит для Opacity, потому что Opacity на черном (т.е. 0) на самом деле означает прозрачный объект!
Существуют различные возможные решения этой проблемы; здесь я расскажу вам, что я обычно делаю: для каждого набора текстур проекта я добавляю внизу слой заливки по умолчанию, то есть уровень заливки; по умолчанию этот тип слоя имеет высоту и излучение на 0,0 (черный: без рельефа или излучения света) и, с другой стороны, непрозрачность на 1,0 (белый, непрозрачный объект, непрозрачный): настройки, которые в большинстве случаев идут очень хорошо.
Слой заливки должен быть вставлен, как уже упоминалось, в нижнюю часть стека слоев каждого набора текстур: таким образом он не будет покрывать информацию о других присутствующих слоях, а только заполнит недостающие информационные каналы значениями по умолчанию, которые в общем, с ними все будет хорошо.
РЕЗЮМЕ ...
В итоге: когда мы создаем проект, мы должны начать с выбора соответствующего шаблона на основе целевого программного обеспечения, чтобы иметь информационные каналы и другие подходящие настройки.
В случае отсутствия информационных каналов мы можем решить проблему, добавив необходимые (и, в конечном итоге, изменив технические настройки) в настройках набора текстур для каждого набора текстур, присутствующего в списке, для текущего проекта.
Прежде чем продолжить экспорт, мы можем прокрутить каналы с помощью C в 3D-виде, чтобы определить любую недостающую информацию и, при необходимости, решить проблему с помощью слоя заливки, то есть уровня заливки, который нужно разместить внизу стека. слоев и материалов на вкладке «Слои» для каждого набора текстур проекта.
Наконец, перед тем, как все экспортировать, проверьте формат файла, задав для него альфа-канал (например, PNG), если эта информация требуется, или другой формат, в зависимости от ваших потребностей.
Вот и все, что касается этой первой из двух статей по экспорту текстур из Substance Painter!
В следующем эпизоде мы увидим, как определить наш собственный настраиваемый пресет экспорта, чтобы экспортировать интересующие нас текстуры и, среди прочего, создать их с настраиваемой схемой имен, используя макропеременные Substance; мы также увидим, как создать наш собственный шаблон с настройками, которые мы собираемся использовать для всех наших новых проектов.
Как всегда, приглашаю выражать сомнения, вопросы или просьбы о разъяснениях в комментариях к видео на Youtube. До скорого!