Thickness map что это

Запекание карт нормалей: Substance Painter vs Marmoset

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

Художнику доступно множество разных софтов, которые поддерживают запекание карт нормалей. Мы рассмотрим Substance Painter и Marmoset — два самых популярных софта с современным инструментарием.

Substance Painter — программа для процедурного текстурирования от Allegorithmic. Кроме текстуринга, в ней можно запекать карты: Ambient Occlusion, Normal map, Curvature, ID, World Space Normal, Position и Thickness.

Чтобы начать работу с моделью в Substance Painter, нужно создать новый проект, выбрать подходящий «Document Resolution», назначить подходящий «Normal Map Format» и найти файл с лоуполи, который мы предварительно экспортировали из 3D редактора, в графе File — Select.

Document Resolution лучше выбирать такой же, как и для экспорта финальных текстур. Если же мощность ПК не позволяет работать с нужным разрешением — понижаем его. Главное — при запекании и экспорте указывать правильный резолюшн.

Также не стоит забывать про графу Template. В ней нужно выбрать основные параметры проекта. Именно там можно переключаться между Metall/Rough и Spec/Gloss.

Когда объект находится во вьюпорте — переходим в Texture Set Settings — Bake Mesh Maps. В этом окне находятся все настройки запекания.

Dilation Width или паддинг. Параметр отвечающий за создание «буферных зон» вокруг UV шелла, которые копируют пиксели на его границах. Он используется, чтобы избегать артефактных линий на UV швах. Его значения нужно менять, если возникли подобные проблемы.

Apply diffusion по сути повторяет функции Dilation Width, но закрашивает полностью все пустое пространство на UV, а не только зоны вокруг UV шеллов.

Use Low Poly Mesh as High Poly Mesh. Позволяет запекать лоуполи меш сам на себя. Игнорирует хайполи геометрию.

High Definition Meshes. В эту область нужно загружать High poly геометрию, с которой будет запекаться карта нормалей.

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

Cage File — графа для загрузки файла с Cage, который можно экспортировать из 3ds Max или другого 3D редактора.

Max Frontal Distance регулирует, насколько далеко полетят лучи над геометрией, чтобы захватить элементы с хайполи.

Max Rear Distance регулирует, насколько далеко полетят лучи вглубь геометрии, чтобы захватить элементы с хайполи.

Relative Bounding Box чаще всего не трогают. Он изменяет единицы измерения, которые используются при запекании.

Average Normals — усреднение нормалей, о которых мы говорили в прошлых статьях.

Ignore Backface — включает игнорирование объектов с суффиксом, указанным в графе «Ignore backfaces suffix».

Antialiasing настраивает силу антиалайзинга. Антиалайзинг — технология для устранения эффекта «зубчатости». Этот эффект возникает на линиях, расположенных под углом.

Match — переключает режим запекания между двумя опциями. Always — запекание всех объектов без ограничений. Если два объекта находятся слишком близко друг к другу, они начнут «делиться» информацией с хайполи и создает артефакты. Чтобы избежать этого, нужно разнести отдельные элементы друг от друга. Но это долго и неудобно.

Поэтому есть второй вариант — режим «By Mesh Name». В нем лоуполи и хайполи запекаются, только если их имена совпадают.

Low poly mesh / High poly mesh / Ignore backfaces suffix — суффиксы в именах мешей, которые нужно задавать каждому элементу в 3D редакторе перед экспортом. Эти суффиксы помогают определять пейнтеру где лоуполи, где хайполи, и какую геометрию нужно игнорировать при запекании.

Если в имени хайполи и лоуполи версии одного элемента есть разница или неправильно прописан суффикс — карта нормалей не запечется.

На примере видно, что летающая геометрия начинает «плыть».

Это происходит из-за настройки average normal: мы не можем отключить эту галочку, ведь тогда грани запекутся со швами.

Решений существует несколько, но самое быстрое при работе с Substance Painter — запечь две версии карты нормалей со включенной и выключенной галочкой Average Normal, и объединить их в Photoshop.

На детализированных объектах процесс комбинирования карт в фотошопе забирает много драгоценного времени. К тому же, у Substance Painter есть проблемы с качеством запекания других карт. Из-за этого многие художники предпочитают печь в Marmoset.

Главное преимущество SP — карты уже находятся в проекте, и их не нужно загружать отдельно. Это означает, что после запекания можно сразу же приступить к текстурированию, или накинуть генератор и увидеть, как они работают.

Marmoset Toolbag 3 изначально она был рассчитан на работу с real-time рендером, освещением и бейкингом. Недавно разработчики выпустили Marmoset 4, но по части запекания практически ничего не изменилось, поэтому разбираться будем на примере третьей версии.

Для начала, в левом верхнем окне создаем «New Baker».

Загружаем ассет через кнопку Load. Важное примечание: в отличие от Substance Painter, в здесь можно загрузить один FBX/OBJ, в котором будет находиться и лоуполи, и хайполи. Он сам разносит их по нужным папкам на основе имен и суффиксов.

Когда геометрия прогрузилась во вьюпорте, лучше отключить отображение слоя «High», чтобы не перегружать компьютер.

Use hidden Meshes — использовать геометрию из спрятанных слоев;

Ignore Transform — игнорировать трансформации объекта, проведенные в Marmoset;

Smooth Cage — сгладить Cage;

Ignore Back Faces — игнорировать заднюю сторону полигонов;

Tangent Space — выбор между DirectX и OpenGL;

Галочка Auto-Reload напротив кнопки Load — автоматически подгружать новые версии загруженного ранее файла FBX/OBJ.

bake.psd. — для настройки пути и имени, согласно которым сохранятся результаты запекания.

Samples — качество запекания. Чем выше значение — тем лучше качество и дольше процесс бейкинга.

Soften — сглаживает результат запекания. Может быть полезен, чтобы лучше сгладить углы или скрыть границы Float geometry.

Format — настройки битности.

Multi-Layered PSD позволяет записать все запеченные карты в разные слои одного файла для Photoshop.

Padding — аналог Dilation Width из Substance Painter. Зарисовывает области вокруг UV шеллов, чтобы избежать швов при работе мипмаппинг.

Padding size определяет размер паддинга.

Multiple Texture Sets дает возможность запекать несколько текстурных сетов. Текстурные сеты пекутся в таком случае основываясь на назначенных материалах. Каждый материал — это отдельный текстурный сет.

Resolution — разрешение, в котором будут запекаться карты.

Кнопка Configure позволяет добавить/убрать все доступные для запекания карты из списка быстрого доступа.

На сложной геометрии видно те же проблемы с плывущими деталями, которые мы видели в Substance Painter. Но Marmoset позволяет локально редактировать направленность нормалей и размер Cage. Для этого нужно перейти в слой Low и выбрать Paint Offset и изменять размер Cage, либо Paint Skew для редактирования направленности нормалей.

Теперь на исправление поплывших элементов будет уходить пара минут.

Мы не говорили о запекании в 3ds Max, Maya, Xnormal и других подобных программах, так как их инструментарий заметно устарел и отстает по удобству от Substance Painter и Marmoset. Это не значит, что в них нельзя запечь нужные карты — просто на это уйдет больше времени.

Преимущество современных программ — отображение результатов запекания в реальном времени и интуитивно понятный интерфейс. Если в 3ds Max запеченную карту нужно сохранять отдельным файлом и подгружать в материалы, чтобы увидеть результат на модели, то в SP все реализовано проще.

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

Мы рассказали, как работать с обеими программами, про их плюсы и минусы. Твоя задача — решить, какая программа лучше подходит под твой пайплайн. А с этим мы поможем тебе разобраться на нашем курсе 3D PRO. Переходи по ссылке, чтобы получить бесплатный пробный урок.

Источник

Запекание в Marmoset Toolbag. Типы карт

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

Оглавление:

Категория Surface

Карта Normals

Thickness map что это. 05 1. Thickness map что это фото. Thickness map что это-05 1. картинка Thickness map что это. картинка 05 1

Вывод Normals запекает карту нормалей касательного пространства ( tangent space normal map ). Существуют опции для отзеркаливания ( flip ) красного (X), зеленого (Y) и синего (Z) каналов, а также опция для переключения Размытия ( dithering ).

Карта Normals (Object)

Thickness map что это. 06 1. Thickness map что это фото. Thickness map что это-06 1. картинка Thickness map что это. картинка 06 1

Вывод типа Normals (Object) запекает карту нормалей объектного пространства ( object space normal map ). При создании ассетов для игр и фильмов, карты данного типа не используются напрямую, но они являются отличным источником для создания масок направленности ( directional masks ) для ваших текстур. Например, для добавления слоя пыли на верхнюю часть вашего объекта.

Карта Height

Thickness map что это. 07 1. Thickness map что это фото. Thickness map что это-07 1. картинка Thickness map что это. картинка 07 1

Карта Position

Thickness map что это. 08 1. Thickness map что это фото. Thickness map что это-08 1. картинка Thickness map что это. картинка 08 1

Карта Curvature

Thickness map что это. 09 1. Thickness map что это фото. Thickness map что это-09 1. картинка Thickness map что это. картинка 09 1

Вывод Curvature запекает карту выпуклостей ( convexity map ) и карту вогнутости ( concavity map ). По умолчанию, карта кривизны запекается в черно-белом стиле, где вогнутые детали изображены более светлыми, а выпуклые детали более темными. Карта кривизны полезна при создании масок для разного рода царапин, грязи находящейся в углублениях и других эффектов.

Карта Concavity

Thickness map что это. 10 1. Thickness map что это фото. Thickness map что это-10 1. картинка Thickness map что это. картинка 10 1

Карта Convexity

Thickness map что это. 11 1. Thickness map что это фото. Thickness map что это-11 1. картинка Thickness map что это. картинка 11 1

Карта Thickness

Thickness map что это. 12 1. Thickness map что это фото. Thickness map что это-12 1. картинка Thickness map что это. картинка 12 1

Карта Bent Normals

Thickness map что это. 13 1. Thickness map что это фото. Thickness map что это-13 1. картинка Thickness map что это. картинка 13 1

Карта Bent Normals (Object)

Thickness map что это. 14 1. Thickness map что это фото. Thickness map что это-14 1. картинка Thickness map что это. картинка 14 1

Вывод Bent Normals (Object) запекает карту типа Bent Normals в объектном, а не касательном пространстве.

Категория Lighting

Карта Ambient Occlusion

Thickness map что это. 15 1. Thickness map что это фото. Thickness map что это-15 1. картинка Thickness map что это. картинка 15 1

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

Thickness map что это. 16 1. Thickness map что это фото. Thickness map что это-16 1. картинка Thickness map что это. картинка 16 1

Параметр Ray Count определяет качество AO. Чем больше лучей используется тем более мягкой и гладкой будет карта AO. Но стоит отметить, что это замедляет процесс запекания. По умолчанию, используется значение 256 которое соответствует среднему качеству, значения от 512+ будут выдавать высокое качество, а значения ниже 256 можно использовать при тестовых запеканиях.

Thickness map что это. 17 1. Thickness map что это фото. Thickness map что это-17 1. картинка Thickness map что это. картинка 17 1

Параметр Floor Occlusion добавляет дополнительную окклюзию области, обращенной к низу. Floor occlusion может помочь вам в добавлении направленного AO. Что обычно наиболее полезно для статических объектов.

Thickness map что это. 18. Thickness map что это фото. Thickness map что это-18. картинка Thickness map что это. картинка 18

Опция Ignore Groups позволяет отбрасывать тень AO между разными группами запекания. Это помогает обособить разные части сложных объектов. Если у вас есть определенные элементы, которые можно убирать или они буду анимированными — например, прицел или магазин у автомата — вы можете переместить эти группы запекания в сторону, так что они не получат группу в группе AO.

Thickness map что это. 19. Thickness map что это фото. Thickness map что это-19. картинка Thickness map что это. картинка 19

Thickness map что это. 20. Thickness map что это фото. Thickness map что это-20. картинка Thickness map что это. картинка 20

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

Thickness map что это. 21. Thickness map что это фото. Thickness map что это-21. картинка Thickness map что это. картинка 21

Карта Diffuse Lighting

Thickness map что это. 22. Thickness map что это фото. Thickness map что это-22. картинка Thickness map что это. картинка 22

Вывод Diffuse Lighting запекает освещение и тени от Sky Light и направленных источников света ( direct lights ) в сцене. Свойства поверхности, определяемые материалами применяются к high poly объектам.

Карта Specular Lighting

Thickness map что это. 23. Thickness map что это фото. Thickness map что это-23. картинка Thickness map что это. картинка 23

Вывод Specular Lighting запекает зеркальные отражения ( specular reflections ) и тени от Sky Light и направленных источников света в сцене. Зеркально отраженный свет — это эффект, зависящий от положения камеры, и он не рендерится для задней части вашей модели.

Карта Complete Lighting

Thickness map что это. 24. Thickness map что это фото. Thickness map что это-24. картинка Thickness map что это. картинка 24

Вывод Complete Lighting запекает цвет материала, диффузную составляющую освещения, тени и зеркальные отражения из вашей сцены. Свойства поверхности, определяемые материалами применяются к high poly объектам.

Категория ID’s & Masks

Карта Material ID

Thickness map что это. 25. Thickness map что это фото. Thickness map что это-25. картинка Thickness map что это. картинка 25

Вывод Material ID запекает уникальный цвет для каждого материала, назначенного на HP объект. Цвет применяется автоматически, а сами цвета выбираются таким образом, чтобы максимально отличаться от других. Если вам требуются конкретные ID цвета, вы можете применить их непосредственно к карте Albedo, в материале, который используется HP объектом. Затем, просто запеките карту Albedo.

Карта Group ID

Thickness map что это. 26. Thickness map что это фото. Thickness map что это-26. картинка Thickness map что это. картинка 26

Вывод Group ID запекает уникальный цвет для каждой группы материалов ( material group ).

Карта Object ID

Thickness map что это. 27. Thickness map что это фото. Thickness map что это-27. картинка Thickness map что это. картинка 27

Вывод Object ID запекает уникальный цвет для каждого объекта с определенным материалом.

Карта UV ID

Thickness map что это. 28. Thickness map что это фото. Thickness map что это-28. картинка Thickness map что это. картинка 28

Вывод UV ID запекает уникальный цвет для каждого UV островка.

Карта Wireframe

Thickness map что это. 30. Thickness map что это фото. Thickness map что это-30. картинка Thickness map что это. картинка 30

Вывод Wireframe запекает карту, которая представляет UV развёртку low poly объекта.

Карта Alpha

Thickness map что это. 31. Thickness map что это фото. Thickness map что это-31. картинка Thickness map что это. картинка 31

Вывод Alpha запекает карту отверстий, имеющихся на high poly меше.

Категория Material

Карта Albedo

Thickness map что это. 32. Thickness map что это фото. Thickness map что это-32. картинка Thickness map что это. картинка 32

Вывод Albedo запекает значение альбедо (это работает с простыми значениями цвета, входным изображением ( image input ), или обоими вариантами) из материалов HP объекта.

Карта Specular

Thickness map что это. 33. Thickness map что это фото. Thickness map что это-33. картинка Thickness map что это. картинка 33

Вывод Specular запекает значение Specular (это работает с простыми значениями цвета, входным изображением или обоими вариантами) из материалов HP объекта.

Карта Gloss

Thickness map что это. 34. Thickness map что это фото. Thickness map что это-34. картинка Thickness map что это. картинка 34

Вывод Gloss запекает значение глянца ( gloss value ). Это работает с простыми значениями цвета, входным изображением или обоими вариантами) из материалов HP объекта.

Карта Albedo (для Metalness подхода)

Thickness map что это. 35. Thickness map что это фото. Thickness map что это-35. картинка Thickness map что это. картинка 35

Roughness Map

Thickness map что это. 36. Thickness map что это фото. Thickness map что это-36. картинка Thickness map что это. картинка 36

Вывод Roughness запекает значение шероховатости ( roughness value ) взятое из материалаов HP объекта.

Карта Metalness

Thickness map что это. 37. Thickness map что это фото. Thickness map что это-37. картинка Thickness map что это. картинка 37

Карта Vertex Color

Thickness map что это. 38. Thickness map что это фото. Thickness map что это-38. картинка Thickness map что это. картинка 38

Изображение представлено Xavier Coelho-Kostolny

Вывод Vertex Color запекает цвета вершин ( vertex color ) или данные типа polypaint взятые из zBrush в изображение.

Карта Transparency

Thickness map что это. 39. Thickness map что это фото. Thickness map что это-39. картинка Thickness map что это. картинка 39

Вывод Transparency запекает карту основываясь на значениях прозрачности ( transparency ) заданных в материалах HP объекта.

Карта Emissive

Thickness map что это. 40. Thickness map что это фото. Thickness map что это-40. картинка Thickness map что это. картинка 40

Вывод Emissive запекает карту основываясь на значениях излучения/эмиссии ( emissive values ) заданных в материалах high poly объекта.

В следующей статье под названием «Запекание в Marmoset Toolbag. Основы запекания» расскажем об основах переноса нормалей и о том, как устранять типичные проблемы.

Научиться работать в Marmoset Toolbag под руководством опытного ментора вы сможете, выбрав блок «Retopology & UV & Baking» курса «ZBrush. Создание 3D-персонажа». Вы можете выбрать отдельные блоки, или пройти курс полностью, изучив все этапы создания 3D-персонажа — начиная с блокинга и до финальной визуализации.

Источник

PBR для новичков — материалы, пайплайны и текстурные карты

Всё о работе с физически корректной визуализацией от преподавателя курса «Процедурный трип» Антона Агеева.

В июне на нашем YouTube-канале прошёл стрим с Антоном Агеевым, который уже больше семи лет занимается текстурами в игровой индустрии и успел поработать с Nival, Playrix и Game Insight. Антон рассказал, что такое PBR, разобрал параметры материалов, основные пайплайны работы и дополнительные текстуры.

На стриме он работал в Substance Painter и Marmoset Toolbag, но все принципы применимы и в других утилитах. Ниже пересказываем самые важные моменты стрима.

PBR расшифровывается как Physically Based Rendering — физически корректная визуализация. То есть, рендеринг материалов происходит с учётом законов физики. Основное преимущество материалов с этой технологией в том, что их можно использовать и в программах для рендеринга, и в игровых и неигровых движках — от одной утилиты к другой пайплайн материала не меняется.

Применяя одни и те же текстуры [PBR] в разных движках, вы будете получать немного разный результат, но если они правильно откалиброваны, то их суть будет оставаться неизменной и они будут выглядеть хорошо и в Unity, и в Unreal Engine, и в любом не-real time рендере с трассировкой.Антон Агеев

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

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

Металлы не пропускают свет, а отражают его, частично или полностью, в результате чего получается цветной блик. Диэлектрики тоже отражают свет, но в гораздо меньшем количестве, чем металлы.

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

В реальности по закону сохранения энергии количество отражённого света не может превысить количество поглощённого. В Marmoset Toolbag есть специальный чекбокс Conserve Energy, который «следит» за выполнением этого закона. Если он включён и сумма зеркальных и диффузных отражений равна 1 или больше, то диффузные отражения начинают затухать. А если зеркальные отражения равны 1, то диффузные отражения вообще перестают на что-то влиять. То есть сохраняется «реалистичность» материала.

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

Когда вы настраиваете металлы, цвет диффузных отражений нужно убирать.

Albedo (диффузный цвет). Это сила и цвет диффузных отражений. У металлов их нет, поэтому Albedo у них чёрный. В текстуре Albedo в PBR, в отличие от пастгена, не должно быть запечённого освещения, бликов и теней. Цвет должен выглядеть так, будто взят с поверхности, которая обращена к камере под прямым углом и освещена 100% белым рассеянным светом. В Albedo лучше избегать ахроматических и «открытых» цветов, корректный диапазон для этого параметра — 50-245 в sRGB.

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

Диапазон корректных значений для диэлектриков — 2-14%. 8-14% отражают редкие материалы вроде рубина или алмаза, а у большинства других показатель находится в диапазоне 4-6%. Диапазон металлов — 60-100%. 100% отражают некоторые чистые металлы, но они встречаются редко, так что лучше держаться в пределах 96%.

Как только Reflectivity падает ниже 60%, тут же должен подключаться цвет Albedo, потому что материалов, которые просто поглощают столько света и ничего не отдают назад, не существует.

Чистых материалов с коэффициентом отражений 14-60% почти не бывает. Такое значение может получиться только при сильном загрязнении или окислении. Также Reflectivity металлов в большинстве случаев никогда не меняется.

Microsurface (шероховатость/микрорельеф/глянцевость поверхности). Этот параметр указывает, насколько гладкой или шероховатой является поверхность вашего материала.

Очень часто новички путают Reflectivity и Microsurface, потому что им кажется, что если отражения чёткие, то материал отражает хорошо, а если размытые, то материал отражает плохо, хотя процент отражений никак не меняется. Гладкие поверхности просто отражают свет под правильными углами, а матовые — с большим количеством искажений.

Пример влияния рельефа на отражения

В работе с Microsurface тоже лучше избегать крайних значений. Для большинства материалов корректным диапазоном будет 0,1-0,9.

Существует два основных пайплайна, которые основаны на базовых параметрах: Specular/Gloss и Metallic/Roughness. Под пайплайном здесь имеется в виду не порядок действий при работе, а набор текстур материала.

Specular/Gloss. В этом пайплайне используется три основных текстуры: Diffuse, Specular и Glossiness.

С одной стороны, это простой для понимания пайплайн, с другой — сложный для настройки.

Параметр Diffuse отвечает за силу и цвет диффузных отражений. Specular — за силу и цвет зеркальных. Проверить правильность этого параметра относительно материала можно с помощью специальных таблиц, где за Specular отвечает цвет напротив буквы S. А параметр Glossiness отвечает за то насколько гладкая и шероховатая поверхность материала.

Калибровочная таблица от Quixel

Metallic/Roughness. Этот пайплайн, по словам Антона, сложнее для понимания, но проще для применения. За параметр Albedo в нём отвечает текстура BaseColor, за Reflectivity отвечает Metallic, а за Microsurface — текстура Roughness. Условно, Roughness и Glossiness — это инвертированные текстуры, то есть низкое значение первой соответствует высокому значению второй и наоборот.

Когда параметр Metallic равен 1, то текстура BaseColor отвечает за отражающую способность материала и работает аналогично параметру Specular из Specular/Gloss. Если же он равен 0, то BaseColor отвечает за силу и цвет диффузных отражений, то есть материал отражает свет как диэлектрик.

В данной системе мы не можем настроить числовое значение отражающей способности для диэлектриков, потому что, когда BaseColor отвечает за диффузное отражение, нет «крутилки», которая отвечает за процент отражения. Но на глаз отличить разницу этого показателя у диэлектрика сложно, поэтому в пайплайне отказались от этой настройки в угоду оптимизации — отражающая сила в нём заблокирована на 4% и её нельзя изменить.

Также, по словам Антона, многие считают, что Metallic не может быть равен промежуточному значению, но на самом деле «лок» на 0 или 1 обычно продиктован техническими ограничениями.

Правильность выставленных параметров в Substance Painter можно отследить с помощью фильтра PBR Validate. Его нужно применить поверх всего, что есть в документе — тогда некорректные с физической точки зрения зоны будут окрашены в красный цвет.

Пример использования PBR Validate

У Specular/Gloss несколько минусов. Во-первых, он сложнее для новичков, потому что в работе с ним нужно постоянно сверяться с таблицами и следить за значением Specular. Во-вторых, он более ресурсоёмкий, потому что использует две цветные текстуры — цвет есть и у Diffuse, и у Specular.

Но в нём можно настроить числовое значение отражающей способности диэлектриков. Таким образом, если в одной текстуре используются несколько типов диэлектриков, можно более тонко настроить отражения для каждого из них.

В обоих пайплайнах в местах перехода одного материала в другой появляется «окантовка» шириной в один полупрозрачный пиксель, но в Specular/Gloss она не так заметна, потому что окрашена в чёрный, а в Metallic/Roughness у неё белый цвет.

«Окантовка» в Metallic/Roughness

Избежать этого можно, если повысить разрешение текстуры, или с помощью эффектов. Сначала нужно размыть текстуру Metallic, а затем с помощью фильтра Histogram Scan уменьшить или увеличить радиус размытия.

Помимо основных Albedo, Reflectivity и Microsurface существуют и необязательные вспомогательные текстуры, которые делают процесс работы удобнее или дополняют материал.

Curvature Map — это «карта кривизны», чёрно-белая текстура, на которой яркость пикселя показывает изменение кривизны поверхности. С помощью Curvature Map можно получить маски внутренних (Cavity) и внешних (Concavity) углов, а получить эту текстуру можно из Normal Map через конвертацию. О том, что такое Normal Map, мы подробно писали здесь.

Пример Curvature Map и зависимости цвета и кривизны

Для создания текстуры Антон сначала добавил на модель пустую маску, а затем добавил на неё карту Curvature. После этого он применил эффект Levels, который позволил специальным ползунком регулировать значение текстуры.

Ambient Occlusion — это текстура «самозатенения», которая может использоваться и как дополнительная, и как одна из основных текстур материала. В Marmoset Toolbag для неё есть отдельный слот, в котором её можно дополнить текстурой Cavity.

[Она показывает] тени, которые возникают в условиях полностью рассеянного освещения, то есть когда нет направленного источника, а есть просто среднее освещение вокруг, и есть места на модели, куда свет попадает меньше или больше.

На основе инвертированной AO с Curvature Map можно создать, например, текстуру загрязнения. Антон объяснил, как это работает, на примере модели канистры — грязь скапливается сильнее в труднодоступных местах, как и свет.

Position Map — эта текстура содержит несколько градиентов, которые проходят вдоль одной из осей модели. Она используется для создания различных эффектов вроде того же загрязнения.

World Space Normal — это текстура нормалей в мировых координатах. Она используется для создания базовых масок по схожему с Position Map принципу, но вместо однородного градиента World Space Normal учитывает топологию модели.

Её можно даже использовать в качестве Normal Map до тех пор, пока объект не поворачивается, так как в WSN сохранены данные мировых координат нормалей.

Color ID — это цветная текстура. Она содержит цветные маски, которые можно в любой программе конвертировать в чёрно-белые. Чаще всего её используют в двух случаях: при большом количестве деталей, которые не поддержаны геометрией, и моделировании однотипных ассетов с похожими материалами.

При работе на большом проекте вы можете договориться и выработать гайдлайн, по которому, например, материалу дерева в Color ID будет соответствовать красный цвет, а материалу резины — синий.

Пример Color ID на той же канистре

Thickness — «текстура толщины», на которой обозначается толщина поверхности в конкретном месте. Чем темнее пиксель — тем тоньше. Она запекается похожим с Ambient Occlusion образом. Если инвертировать нормали Ambient Occlusion, то получится текстура Thickness.

Она используется в основном для материалов с эффектом поверхностного рассеивания. Например, для человеческой кожи, некоторых камней и фруктов.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *