{"id":3824,"url":"\/distributions\/3824\/click?bit=1&hash=a0d33ab5520cacbcd921c07a49fc8ac5b78623b57936b992ce15c804b99210d4","title":"\u041a\u0430\u043a\u0443\u044e \u0440\u0435\u043a\u043b\u0430\u043c\u0443 \u043c\u043e\u0436\u043d\u043e \u0434\u0430\u0442\u044c \u043d\u0430 DTF \u0438 \u043a\u0442\u043e \u0435\u0451 \u0443\u0432\u0438\u0434\u0438\u0442","buttonText":"\u0423\u0437\u043d\u0430\u0442\u044c","imageUuid":"75ec9ef4-cad0-549d-bbed-1482dc44e8ee","isPaidAndBannersEnabled":false}
Gamedev
Empty Node

Запекание в Marmoset Toolbag

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

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

Настройка Toolbag

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

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

Marmoset Toolbag использует всю мощь вашего GPU для супер быстрого создания выпечки. Инструменты запекания в Toolbag не только очень быстрые, но ещё и очень умные! При внесении корректировок в локальные области вашего меша, они будут перезапекать только затронутые изменениями области, что приводит к почти мгновенному обновлению результата предварительного просмотра. Наш бэйкер был разработан с учётом реальных потребностей художников — такие инструменты как группы запекания (bake groups), рисование смещений и скосов (offset and skew painting), и предварительный просмотр в реальном времени (real-time preview) объединены под одной крышей для создания исключительно эффективного и интуитивного рабочего процесса.

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

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

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

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

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

Раздел Geometry

Общие настройки геометрии меша вы можете найти на вкладке 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 меша. В выпадающем списке вам доступны следующие варианты:

1. Marmoset

2. Mikk/xNormal

3. Maya

4. 3D Studio Max

5. Unity 4.x

6. Per-mesh

  • Также, здесь доступен инструмент Quick Loader. Его можно использовать если нажать на кнопку Load. Кнопка Load загружает модель (или модели), и пытается автоматически назначать группы запекания высоко-полигональным и низко-полигональным объектам.
  • Опция Auto-Reload автоматически проверяет внешний файл меша на наличие изменений и перезагружает его при необходимости.

Раздел Output

На вкладке 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

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

- Surface

- Lighting

- IDs & Masks

- Material

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

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

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

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

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

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

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

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

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

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

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

Пример:

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

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

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

Смещение

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

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

Смещение

Используйте 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

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

Карта Normals (Object)

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

Карта Height

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

Карта Position

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

Карта Curvature

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

Карта Concavity

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

Карта Convexity

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

Карта Thickness

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

Карта Bent Normals

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

Карта Bent Normals (Object)

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

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

Карта Ambient Occlusion

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

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

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

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

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

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

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

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

Карта Diffuse Lighting

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

Карта Specular Lighting

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

Карта Complete Lighting

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

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

Карта Material ID

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

Карта Group ID

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

Карта Object ID

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

Карта UV ID

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

Карта Wireframe

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

Карта Alpha

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

Категория Material

Карта Albedo

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

Карта Specular

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

Карта Gloss

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

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

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

Карта Roughness

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

Карта Metalness

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

Карта Vertex Color

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

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

Карта Transparency

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

Карта Emissive

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

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

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

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

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

Пример запекания High Poly и Low Poly

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Tangent Basis

Большинство систем визуализации работающих 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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Швы на UV и Жёсткие Ребра

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Автор оригинала: Joe Wilson

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

0
8 комментариев
Написать комментарий...
Николай Изюмов

А раньше я всю эту инфу по крупицам собирал и на личном опыте. Тут вон всё на тарелочке.

Ответить
Развернуть ветку
Groove619

Это база. Это знать надо.

Ответить
Развернуть ветку
Денис Лысенко

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

Ответить
Развернуть ветку
Александр Лазарев

Где ты был, когда я учился 3д, это бесценная инфа.

Ответить
Развернуть ветку
Ярослав Черных

Тулбаг круто, но давно на них обиделся - когда ушли из Стима, тем самым убрав региональную цену, а при этом еще они решили "потягаться с substance painter" поэтому с новым функционалом стоить стало еще больше, чем было (а было, не в регионалке, и так вполне кусаче)

Ответить
Развернуть ветку
Empty Node
Автор

Да, ценник на Marmoset довольно кусачий. Но, подобное происходит практически со всем популярным софтом. Сначала компания привлекает аудиторию, «подсаживает» на свой товар, а через некоторое время когда пользователи привыкают к удобным фичам, начинают выкручивать руки.

Ответить
Развернуть ветку
LYBITEL BATONOV

опупеть опций, вещь знатная. Только хер знает, когда руки дотянутся всё опробовать)
А вообще из-за поста вспомнил, что у меня гтх750 запеченная в духовке под горошком с 15 года служит. Кабы чаво плохого не произошло.
Спасибо, за пост!

Ответить
Развернуть ветку
Parfen

Оставлю здесь ссылочку. В статье не хватает.
https://habr.com/ru/post/487932/

Ответить
Развернуть ветку
Читать все 8 комментариев
null