Запекание с помощью Marmoset Toolbag

Запекание с помощью Marmoset Toolbag

Оригинал статьи: The Toolbag Baking Tutorial | Marmoset

Данное руководство познакомит вас с бэйкером Marmoset Toolbag (часть программы, отвечающая за запекание карт).

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

Несколько слов о бэйкере

Marmoset Toolbag использует всю мощь вашего GPU и делает процесс запекания текстурных карт супер-быстрым. Инструменты запекания в Marmoset Toolbag не только очень быстрые, но еще и очень умные!

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

Наш бэйкер был разработан с учётом реальных потребностей художников — такие инструменты как группы запекания (bake groups), рисование смещений (offset) и скосов (skew) c помощью кисти и режим предварительного просмотра в реальном времени, объединены под одной крышей для обеспечения исключительно эффективного и интуитивного рабочего процесса.

Начало работы с Toolbag

Запекание с помощью Marmoset Toolbag

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

Список «вводных» видео-уроков:

Настройки Marmoset Toolbag

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

Верхняя панель

Ряд полезных кнопок находится на верхней панели (Top Bar) в свойствах объекта Baker (или Bake Project). Чтобы эта панель появилась, вам нужно кликнуть по иконке New Bake Project расположенной в верхней части панели Scene (справа, по умолчанию). Либо выбрать пункт в главном меню Scene → Add Object → Bake Project.

Запекание с помощью Marmoset Toolbag
  • Кнопка Bake запекает все выводимые данные (outputs), которые активированы на вкладке Maps и сохраняет их на диск.
  • Кнопка New Bake Group позволяет создать новую группу запекания. Группы запекания используются для изоляции одной части геометрии от другой. Это позволяет избавиться от нежелательных пересечений.
  • Кнопка H является переключателем видимости для слота High (высоко-полигональный объект, далее просто HP).
  • Кнопки L является переключателем видимости для слота Low (низко-полигональный объект, далее просто LP).
  • Кнопка P отвечает за предварительный просмотр запекаемых данных на низко-полигональной геометрии. Она создаёт материал для предварительного просмотра (preview material), который содержит Normal Map, AO и другие выводы материала и применяет его к LP объекту/объектам, находящимся в проекте.

Используя автоматически назначаемые, временные карты вы можете быстро оценить предварительный результат запекания. При активации дополнительных выводов на вкладке Maps, обязательно нажмите кнопку Material Preview ещё раз, чтобы увидеть дополнительные карты.

Раздел Geometry

Запекание с помощью Marmoset Toolbag

Общие настройки геометрии меша вы можете найти на вкладке Geometry.

  • Опция Use Hidden Meshes определяет, будут ли скрытые в Outliner объекты вовлечены в процесс запекания и соответственно влиять на конечный результат.
  • Опция Ignore Transforms. Трансформации меша, такие как ориентация (rotation) и позиция (position) будут игнорироваться при запекании. Опция предполагает, что все меши расположены в 0,0,0. Она может оказаться полезной, если вы хотите переместить LP меш в сторону, для предварительного просмотра, сохранив при этом полную функциональность запекания.
  • Опция Smooth Cage определяет, следует ли усреднять нормали оболочки (cage normals) или же использовать нормали вершин LP объекта в качестве направления проекции (при проецировании). Сглаживает нормали LP-меша для проекции запекания. Эта опция полезна, когда нужно избежать сосредоточения неоднородностей вдоль UV швов.
  • Опция Ignore Back Faces гарантирует что грани HP меша направленные в противоположную сторону от бэйкера, не будут записаны. То есть в процессе запекания «задняя сторона» треугольников у HP меша игнорируется. Очень часто эта опция оказывается полезной при запекании геометрии содержащей трещины/разрывы или «плавающей» геометрии.
  • Опция Fix Mirrored Tangents. Пытается исправить любые проблемы, возникающие из-за отзеркаленных касательных пространств в LP мешах.
  • Опция Tangent Space позволяет выбрать соглашение о касательном пространстве (tangent space convention) для всех LP мешей сразу. Это эквивалентно изменению настроек касательного пространства для каждого, отдельно взятого LP меша. В выпадающем списке вам доступны следующие варианты: Marmoset, Mikk/xNormal, Maya, 3D Studio Max, Unity 4.x, Per-mesh
  • Также, здесь доступен инструмент Quick Loader. Его можно использовать если нажать на кнопку Load. Кнопка Load загружает модель (или модели), и пытается автоматически назначить группы запекания высоко-полигональным и низко-полигональным объектам.
  • Опция Auto-Reload автоматически проверяет внешний файл меша на наличие изменений и перезагружает его при необходимости.

Раздел Output

Запекание с помощью Marmoset Toolbag

На вкладке Output расположены настройки, отвечающие за вывод данных.

  • Текстовое поле Output path отображает путь к папке с результатами запекания. Этот путь используется как для множества файлов, так и для многослойного PSD файла.
  • Кнопка Открывает диалоговое окно Save As, в котором вы можете указать путь к файлу, его имя и расширение (*.psd *.tga *.png *.jpg).
  • Параметр Samples определяет качество сглаживания (anti-aliasing) через количество семплов на пиксель (Samples per pixel). В выпадающем списке доступны следующие значения: 1x, 4x, 16x, 64x. Чем больше это значение, тем выше будет качество конечного результата, но при этом, время запекания тоже значительно увеличится.
  • Слайдер Soften применяет смягчающий фильтр к поверхности, на которую выполняется запекание. Это может быть полезно для сглаживания границ вокруг плавающей геометрии или других «жёстких» рёбер (hard edges). Рядом со слайдером находится числовое поле, в котором вы можете посмотреть текущее значение, и задать точное значение вручную.
  • Параметр Format определяет битовую глубину (bit-depth), или то с какой битовой точностью (на цветовой канал) будет сохранен файл. Чем выше значение глубины, тем больше будет конечный размер файла. Также, более высокая точность позволяет уменьшить количество артефактов в виде полос. В выпадающем списке доступны следующие значения: 8Bits/Channel, 16Bits/Channel, 32Bits/Channel.
  • Опция Multi-Layer PSD сохранит все ваши выходные изображения в отдельный, многослойный PSD файл, вместо использования отдельных файлов для каждой карты. Это может привести к генерации большого файла, а сам процесс может оказаться более медленным. Выводы, отвечающие за свойства материала (Material property outputs) такие как albedo, gloss и specular будут сохранены в группы слоёв вместе с масками слоёв, которые автоматически применяются для каждого материала HP модели.
  • Параметр Padding определяет, насколько далеко запекаемый контент должен выходить за границы UV. Опция добавляет к конечному результату запекания отступы/поля, так чтобы они заполняли пустые области UV развертки, при этом программа автоматически подстраивается под ваше конечное разрешение. Обычно, это полезно для предотвращения появления артефактов фильтрации или мип-мэппинга вдоль границ UV. В выпадающем списке доступны следующие значения:

- None: Заполнение пустого пространства отсутствует.

- Moderate: Этого значения должно хватить для большинства случаев.

- Extreme: Это значение позволяет заполнить большую часть пустого пространства UV развертки.

- Custom: Позволяет пользователю задать своё собственное значение.

  • Опция Multiple Texture Sets. Активирует текстурные наборы (Texture Sets), способ запекания нескольких карт на основе уникальных материалов, применяемых к низко-полигональным сеткам.
  • Параметр Resolution позволяет задать разрешение выводимых текстур. Поддерживаются изображения с разрешением до 8192×8192 пикселей. Вы можете указать Width (Ширину) и Height (Высоту) явным образом, либо выбрать одно из предустановленных значений (1024x1024, 2048x2048, 4096x4096, 8192x9192) кликая по стрелкам справа от числовых полей
  • Texture Project Link. Позволяет создать проект для запекания (пункт New Project), с рядом заданных параметров. Можно создать несколько «проектов» с разными настройками и быстро переключаться между ними. По умолчанию, не используется (пункт None).

Вкладка Maps

Запекание с помощью Marmoset Toolbag

Кнопка Configure. Вызывает всплывающую панель Configure Maps. Данная панель предназначена для добавления нужных карт в основной список на вкладке Maps (список карт, используемых в проекте). Панель содержит четыре вкладки, по которым распределены все доступные карты:

- Surface

- Lighting

- IDs & Masks

- Material

  • Кнопка Preset вызывает всплывающее меню, которое содержит следующие пункты:

- Set As Default позволяет установить текущий набор карт, как набор используемый по умолчанию (Default) для всех новых проектов.

- Save… Позволяет сохранить текущий набор карт.

- Load… Позволяет загрузить ранее сохраненный набор карт.

- Default возвращает исходный набор карт.

- All выводит на панель Maps все карты существующие в Toolbag.

Группы запекания

<i><b>Слева: </b>Одна группа запекания. Присутствуют ошибки пересечения. <b>Справа: </b>Несколько групп запекания. Ошибки отсутствуют.<br /></i>
Слева: Одна группа запекания. Присутствуют ошибки пересечения. Справа: Несколько групп запекания. Ошибки отсутствуют.

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

Quick Loader читает имена объектов из файла и автоматически назначает Группы Запекания, используя следующее соглашение по именованию:

Синтаксис: <mesh_name>_<high/low>

Определяет имя меша, такое как mymesh1 или gun_barrel. Всё что идет перед знаком подчёркивания _ будет читаться программой как имя объекта.

<high/low> определяют в какой слот будет сохранен объект: High или Low, как например mymesh1_high и mymesh1_low. Это флаг, который можно использовать для сортировки множества отдельных элементов в одну группу. Всё что идёт после, будет рассматриваться как вариация. Имена не чувствительны к регистру, так что вы можете смешивать и сочетать разные варианты именования. Например: object_HIGH c object_low.

Пример:

Myobject1_high, Myobject1_high_bolt, и Myobject1_low будут добавлен в новую группу запекания Myobject1, в то время как Myobject2_high, и Myobject2_low будут добавлены в группу запекания Myobject2.

Инструменты проецирования

В бэйкере Marmoset Toolbag есть инновационные инструменты для управления дистанцией проецирования (projection distance) и направлением оболочки (cage), посредством рисования прямо во вьюпорте. Настройки для оболочки и смещения (Skew) сохраняются для каждой Группы Запекания. Если вам нужен повышенный контроль над определенным объектом или элементом, вынесите его в новую, отдельную, группу. Если файл меша будет перезагружен, настройки Cage и Skew сохранятся там, где это возможно. Ваши изменения будут сохраняться до тех пор, пока не изменится UV (в этом случае карты придётся очистить).

Смещение (Offset)

Значения Min и Max Offset соответствуют минимальной (чёрный) и максимальной (белый) точкам расширения (extension points) в карте смещения (offset map). Нажмите кнопку Paint Offset чтобы открыть редактор карты смещения. По умолчанию, карта смещения окрашена в однородный серый цвет — это даёт вам возможность «лепить» оболочку в обоих направлениях.

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

Скосы (Skew)

Используйте Paint Skew для исправления деталей, которые были плохо запечены в результате вне осевого направления проецирования. Карты Skew работают посредством создания попиксельного смешивания между нормалями граней LP меша и нормалями оболочки. Рисование по карте Skew позволяет вам манипулировать направлением, и исправлять ошибки проецирования. Чёрный цвет соответствует полной коррекции смещения (skew correction), в то время как белый цвет соответствует отсутствию коррекции.

Процесс рисования

Карты Offset и Skew можно рисовать как в 2D так и в 3D. Инструменты рисования используют горячие клавиши в стиле Photoshop:

· Клавиши [ и ] для изменения размера кисти (Brush Size)

· Клавиши Ctrl + [ и Ctrl + ] для изменения резкости кисти (Brush Sharpness)

· Клавиши 1 - 0 для изменения уровня Flow.

Чтобы инвертировать цвет и рисовать в противоположном направлении зажмите клавишу Ctrl. 3D рисование работает только на тех областях модели, которые имеют UV координаты, лежащие в диапазоне текстурного пространства 0-1. Карты Offset и Skew используют текстуру с фиксированным разрешением 512×512 пикселей.

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

Типы карт

В данном разделе содержатся примеры и полезная информация для каждого из типов выводимых изображений.

Категория Surface (Поверхность)

Карта Normals

Запекание с помощью Marmoset Toolbag

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

Карта Normals (Object)

Запекание с помощью Marmoset Toolbag

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

Карта Height

Запекание с помощью Marmoset Toolbag

Вывод Height запекает карту высот (height map) или карту смещений (displacement map). Настройки внутреннего и внешнего расстояния, определяют минимальное и максимальное расстояние (в единицах измерения сцены) которое будет записываться. Если у вас есть деталь, которая утоплена на 2 единицы и выступает на 5 единиц, вы должны выставить эти значения на -2 и 5 соответственно. Чтобы быть уверенным в том, что 50% будут соответствовать нулевой точке, устанавливайте минимальное и максимальное значения пропорционально, например -5 и 5.

Карта Position

Запекание с помощью Marmoset Toolbag

Вывод Position, также известен как карта Градиента (Gradient map), он запекает положение вашего меша в каналах X, Y и Z в RGB каналы изображения. Карта положения также является хорошим источником для последующей генерации разного рода текстурных масок. Например, создание цветового градиента или градиента насыщенности, идущего от нижней части объекта к его верхней части.

Карта Curvature

Запекание с помощью Marmoset Toolbag

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

Карта Concavity

Запекание с помощью Marmoset Toolbag

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

Карта Convexity

Запекание с помощью Marmoset Toolbag

Вывод Convexity запекает карту выпуклостей поверхности, или острые края (sharp edges). Карта выпуклостей полезна при генерации таких эффектов как поцарапанные края/рёбра.

Карта Thickness

Запекание с помощью Marmoset Toolbag

Вывод Thickness, также известный как пропускание (transmission), запекает карту основываясь на толщине HP объекта. Более тонкие области создают светлые значения, в то время как более толстые области являются тёмными.

Карта Bent Normals

Запекание с помощью Marmoset Toolbag

Вывод Bent Normals генерирует карту нормалей, которая содержит окклюзию окружения (AO) запеченную в данные нормальных векторов (normal vector data). Карты типа Bent Normals используются для симуляции сложного освещения в сочетании с определенными шейдерами.

Карта Bent Normals (Object)

Запекание с помощью Marmoset Toolbag

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

Категория Lighting (Освещение)

Карта Ambient Occlusion

Запекание с помощью Marmoset Toolbag

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

<i>Число лучей (слева на право): 32, 128, 512</i>
Число лучей (слева на право): 32, 128, 512

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

Запекание с помощью Marmoset Toolbag

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

Запекание с помощью Marmoset Toolbag

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

Запекание с помощью Marmoset Toolbag

Опция Two-Sided позволяет отбрасывать AO с задней стороны граней у HP объектов. Это полезно для точного захвата AO вокруг пересечений объектов, но приведет к появлению теней вокруг плавающей геометрии. При работе над сложными ассетами, хорошей идеей может оказаться запекание сразу двух карт — с включенной и выключенной опцией Two-Sided, и их последующее объединение в редакторе изображений, типа Photoshop.

Запекание с помощью Marmoset Toolbag

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

Запекание с помощью Marmoset Toolbag

Опция Exclude When Ignoring Groups позволяет вам запретить опцию Ignore Groups для определенных Групп Запекания (Bake Groups). Это особенно полезно в тех случаях, когда у вас есть подвижные части, например, оружие с затвором или магазином, который будет анимирован. Просто активируйте Exclude When Ignoring Groups в настройках слота Low расположенного в Bake Group, чтобы быть уверенным что AO не будет отбрасываться или формироваться от остальных групп.

Карта Diffuse Lighting

Запекание с помощью Marmoset Toolbag

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

Карта Specular Lighting

Запекание с помощью Marmoset Toolbag

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

Карта Complete Lighting

Запекание с помощью Marmoset Toolbag

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

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

Карта Material ID

Запекание с помощью Marmoset Toolbag

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

Карта Group ID

Запекание с помощью Marmoset Toolbag

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

Карта Object ID

Запекание с помощью Marmoset Toolbag

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

Карта UV ID

Запекание с помощью Marmoset Toolbag

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

Карта Wireframe

Запекание с помощью Marmoset Toolbag

Вывод Wireframe запекает карту, которая представляет UV развёртку низко-полигонального объекта.

Карта Alpha

Запекание с помощью Marmoset Toolbag

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

Категория Material

Карта Albedo

Запекание с помощью Marmoset Toolbag

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

Карта Specular

Запекание с помощью Marmoset Toolbag

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

Карта Gloss

Запекание с помощью Marmoset Toolbag

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

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

Запекание с помощью Marmoset Toolbag

Вывод Albedo запекает карту цвета (color map), которая подходит для использования с подходом Metalness, взятое из материала(ов) HP объекта.

Карта Roughness

Запекание с помощью Marmoset Toolbag

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

Карта Metalness

Запекание с помощью Marmoset Toolbag

Вывод Metalness запекает значение металличности (metalness) взятое из материала(ов) HP объекта. Если ваши материалы не имеют metalness inputs, контент соответствующего типа будет сгенерирован автоматически. Для более точной настройки генерации используется параметр Metalness Threshold. Если исходные материалы используют подход metalness, то параметр Metalness Threshold не будет использоваться.

Карта Vertex Color

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

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

Карта Transparency

Запекание с помощью Marmoset Toolbag

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

Карта Emissive

Запекание с помощью Marmoset Toolbag

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

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

Основы запекания

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

Что такое запекание?

<i>Пример запекания High Poly и Low Poly</i>
Пример запекания High Poly и Low Poly

Запекание — это процесс, который включает в себя передачу свойств материала из исходного меша в целевой. Как правило, запекание включает в себя проецирование содержимого с сетки с большим количеством полигонов (высоким разрешением) на сетку с малым количеством полигонов (низким разрешением), но ещё это может означать перенос содержимого из одной сетки в другую с другой топологией или UV-развёрткой.

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

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

Что может запекать Toolbag Baker?

<i>Типы карт доступные в Toolbag Baker</i>
Типы карт доступные в Toolbag Baker

Marmoset Toolbag может запекать ряд основных типов карт, таких как Normal, Ambient Occlusion, Curvature, Height и т.д. Чтобы увидеть полный список поддерживаемых карт и узнать больше о каждом выводе ознакомьтесь с предыдущим разделом Типы Карт.

Что такое карты нормалей?

Запекание с помощью Marmoset Toolbag

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

Как работает проецирование?

Диаграмма проекции

Для запекания текстурных карт, геометрия исходного высоко-полигонального меша проецируется (трассировка лучей) на низко-полигональный меш. Лучший способ визуализировать это — представить камеру, смотрящую на HP объект и фиксирующую направление поверхности для каждого пикселя на карте нормалей. Чтобы быть уверенным, что проекция не попадает на неправильные элементы, необходимо настроить оболочку или меш проекции, чтобы ограничить расстояние проекции. Для каждого пикселя, угол камеры устанавливается направлением нормали оболочки (cage).

Что такое оболочка?

Расширение оболочки

Оболочка (cage) — это, по сути, копия вашей LP сетки, которая расширяется наружу, чтобы окружить собой HP сетку. Как правило, лучше, чтобы оболочка была расширена ровно настолько, чтобы покрывать самые высокие точки HP объекта. Если оболочка выходит за пределы HP объекта слишком далеко, это может вызвать проблемы со сложными мешами, у которых есть перекрытия (overlaps) или внутренние углы (tight corners).

Типы оболочек

Существует два типа оболочек: сглаженная (smoothed) и не сглаженная (unsmoothed). В Marmoset Toolbag 4, вы можете выбрать тип оболочки в разделе Geometry Settings объекта Baker.

Запекание с помощью Marmoset Toolbag

Сглаженная (или усреднённая сетка) игнорирует нормали LP сетки при определении направления проецирования. Сгладить оболочку необходимо для того, чтобы результат запекания был бесшовным — без зазоров в проекции вдоль жестких ребер. Этот тип оболочки рекомендуется использовать в большинстве случаев.

Запекание с помощью Marmoset Toolbag

Не сглаженная сетка, для проецирования использует явные нормали LP меша. Данный метод приводит к образованию зазоров и швов на жёстких ребрах (hard edge) и обычно не рекомендуется к использованию. Основное преимущество данного метода заключается в том, что это может привести к меньшему перекосу/смещению деталей. Однако встроенный инструмент Skew Painting Tool может легко устранить проблемы с перекосами/смещениями.

Tangent Basis

Запекание с помощью Marmoset Toolbag

Большинство систем визуализации работающих c картами нормалей, используют касательное пространство, которое представляет из себя систему координат, определяющую ориентацию поверхности в каждой точки модели. Касательное пространство определяется касательным вектором или тангенциальным (tangent), битангенциальным вектором/касательная к двум точкам (bitangent), и вектором нормали/нормальный вектор (normal vectors) в каждой вершине нашего меша. Карты нормалей содержат RGB значения которые соответствуют координатам XYZ внутри данного пространства.

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

Существуют различные реализации отображения нормалей касательного пространства (tangent space normal mapping) в различных 3D-приложениях и игровых движках. Чтобы убедиться, что ваш ассет правильно затеняется, не забудьте запечь карту нормалей в том же касательным пространством, которое использует ваш рендерер. Если вы не уверены, какое касательное пространство использовать, Mikk/xNormal — это хороший выбор, поскольку именно его используют такие движки как Unity, Unreal и множество других приложений.

При запекании в Marmoset Toolbag будет использоваться касательное пространство, которое в данный момент выбрано для вашего меша. Чтобы выбрать касательное пространство, используйте выпадающее меню Tangent Space в свойствах меша (mesh properties). Вы можете выбрать касательное пространство, которое будет использоваться по умолчанию, для этого перейдите в Edit → Preferences → Content → Default Tangent Space.

Примечание: этот параметр будет применяться ко всем новым импортируемым мешам, а не к мешам, которые уже находятся в вашей сцене.

Запекание с помощью Marmoset Toolbag

Если у вас нет чётко систематизированного подхода к процессу запекания, то есть если вы не знаете какое касательное пространство использует ваш рендерер, или нужное вам касательное пространство, не поддерживается, обязательно помните об этом при создании LP меша. Как правило, это означает добавление фасок (bevels) и/или жёстких ребер (hard edges), чтобы ошибки затенения не были такими значительными.

Правое или левое направление (Handedness)

Запекание с помощью Marmoset Toolbag

Правое или левое направление (Handedness) или ориентация оси Y или зеленого канала карты нормалей может оказать для вас проблемой. Когда дело доходит до устранения проблем возникших с картой нормалей, Направление, пожалуй, самая распространённая проблема, с которой сталкиваются многие художники. Если у вас возникли проблемы с правильным отображением карты нормалей в Marmoset Toolbag или же вы видите какие-либо ошибки на карте нормалей в целевом рендерере, проверка корректности направления — это то место, с которого стоит начать.

Различные 3D-приложения и игровые движки используют праворукость/правое направление (Y+) или леворукость/левое направление (Y-). Правое направление иногда называют стилем OpenGL или Maya, а леворукость - стилем DirectX или 3DS Max. Как и в случае с касательным пространством, важно убедиться, что вы используете одно и тоже направление при запекании и при рендеринге ассета.

Запекание с помощью Marmoset Toolbag

В Toolbag, направление автоматически определяется настройкой касательного пространства. Однако направление можно изменить с помощью настроек карты нормалей в объекте Baker, установив флажок напротив опции Flip Y. Направление можно переопределить в Material Editor. Вы можете инвертировать зеленый канал вашей карты нормалей с помощью приложения для редактирования изображений чтобы инвертировать направление.

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

Достижение наилучших результатов

Этот раздел под завязку наполнен советами и уловками, которые сделают из вас настоящего мастера. Узнайте, как именно ваши низко-полигональные и высоко-полигональные конструкции, UV развертка, и некоторые ключевые настройки влияют на качество запекания.

Наклоны и фаски

Запекание с помощью Marmoset Toolbag

Когда Baker проецирует информацию с HP на LP для генерации карты нормалей, он видит только изменения в направлении (direction), но не в глубине (depth). Таким образом, информация о полностью параллельных гранях (faces) не будет записываться. Чтобы ваша геометрическая деталь запеклась как следует, вы можете использовать наклоны (slopes), фаски (bevels) или и то, и другое вместе.

<i>Важно направление, а не расстояние.</i>
Важно направление, а не расстояние.

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

Плавающая геометрия

Запекание с помощью Marmoset Toolbag

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

Размер деталей

Запекание с помощью Marmoset Toolbag

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

Помимо обеспечения захвата деталей, скошенные края улавливают зеркальные блики (specular highlights) и делают поверхность более интересной и красивой для наблюдателя. Большинство реальных объектов имеют скошенные/закругленные края. Так или иначе вы можете увеличить фаски в зависимости от размера вашего объекта и предполагаемого расстояния просмотра, с целю повышения читаемости.

Жёсткие ребра и элементы UV развертки

Запекание с помощью Marmoset Toolbag

При использовании жёстких ребер (hard edges) или групп сглаживания (smoothing groups), важно убедится в том, что вы разделяете свои UV островки вдоль границ жёстких рёбер. Если вы будете использовать жесткие рёбра, но при этом не разделять свои UV, вы будете получать артефакты в виде швов, поскольку каждая грань будет пытаться запечься в линии жесткого ребра.

<i>Швы на UV и жёсткие Ребра</i>
Швы на UV и жёсткие Ребра

Несмотря на то, что вам нет необходимости использовать жёсткие рёбра вдоль всех UV границ (UV borders), это может быть полезно, особенно для объектов с твёрдой поверхностью. Использование жёстких рёбер на UV швах (UV seams) может создать менее экстремальное сглаживание на LP объекте, что означает, что результат запекания будет лучше держаться при более низких разрешениях или уровнях MIP-карты, а также при применении к LOD'ам. Обратите особое внимание на тонкие линии на изображении выше: в то время как синхронизированный рабочий процесс может компенсировать чрезмерное затенение, недостаток разрешения может привести к ошибкам, вдоль границ треугольников LP объекта.

Размер LP объекта

Запекание с помощью Marmoset Toolbag

Убедитесь в том, что ваш LP объект по размеру максимально приближен к HP объекту. Если LP слишком большой или слишком маленький, могут возникнуть ошибки проецирования. Не беспокойтесь о том, чтобы полностью охватить/окружить HP объект LP объектом, для этого и предназначена оболочка.

Правильное число сторон

Запекание с помощью Marmoset Toolbag

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

Закрывайте отверстия

Запекание с помощью Marmoset Toolbag

Отверстия в HP могут привести к ошибкам, так как бэйкер не может попасть по удобной поверхности. Здесь есть два решения. Первое — прикрыть дыры в HP, обычно это подходит, если у вас небольшой бюджет по полигонам. Второе — более точно подобрать форму HP, и в этом случае добавить отверстия в LP объект.

Триангуляция и ошибки сглаживания

Запекание с помощью Marmoset Toolbag

Обязательно выполните триангуляцию вашей сетки перед её импортом в Toolbag. Если ваша сетка не была триангулирована, то внутренние рёбра четырехугольников и n-угольников могут различаться в разных приложениях. Это приводит к несоответствию триангуляции, что в свою очередь вызывает ошибки сглаживания в форме буквы X. По сути, это является типом несоответствия касательного пространства, поскольку несоответствие/расхождение в направлении ребра, может привести к различию касательного базиса.

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

Бандинг, глубина цвета и дизеринг

Запекание с помощью Marmoset Toolbag

Артефакты в виде полос или бандинг (Banding artifacts) вызваны отсутствием у 8-битных карт нормалей необходимого уровня точности. Недостаточное количество значений цвета для точного отображения тонких различий (плавных переходов) между высоко-полигональными и низко-полигональными поверхностями, что приводит к появлению ступенчатых артефактов.

Дизеринг или размытие — это эффект который заключается в сглаживании переходов на полутонах изображения, (ориг. dithering). Он избавит вас от «полосящих» артефактов за счёт добавления к карте нормалей небольшого шума. Как правило, шум является более предпочтительным, поскольку большинство поверхностей имеют определенную текстуру. Поэтому он включен в Toolbag, по умолчанию. Вы можете запечь 16-битную карту нормалей, что приведет к более плавному и точному результату запекания.

Однако многим рендерерам для работы требуется 8-битная карта нормалей. Если вы запекаете 16-битную карту, вероятно, вам потребуется преобразовать её в 8-битный формат, для последующего использования в качестве конечной текстуры, что может привести к размытию и шуму. Некоторые художники предпочитают работать с 16-битным исходниками, чтобы отложить появление дизеринга до последней стадии.

На этом всё. Чтобы узнать больше о Marmoset Toolbag обратитесь к разделу Tutorials. Если у вас есть какие-либо вопросы вы можете задать их используя этот адрес электронной почты: [email protected].

Полезные ссылки:

Автор оригинального текста: Joe Wilson

Текст перевёл и подготовил: Константин Пономарёв

363363 показа
26K26K открытий
33 репоста
Начать дискуссию