Top
Обучение

Запекание в Marmoset Toolbag. Основы запекания

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

Первая часть: Настройка Toolbag
Вторая часть: Типы карт

Перевод статьи:  The Toolbag Baking Tutorial | Marmoset
Автор оригинала: Joe Wilson

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

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

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

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

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

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

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

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

Для запекания текстурных карт, геометрия исходного high poly меша проецируется (трассировка лучей) на low poly меш. Лучший способ визуализировать это — представить камеру, смотрящую на 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

Большинство систем визуализации работающих с картами нормалей, используют касательное пространство, которое представляет из себя систему координат, определяющую ориентацию поверхности в каждой точки модели. Касательное пространство определяется касательным вектором или тангенциальным (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. Вы можете инвертировать зеленый канал вашей карты нормалей с помощью приложения для редактирования изображений чтобы инвертировать направление.

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

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

Подробности и регистрация по ссылке: https://bit.ly/3vaS5UF


Подписывайтесь на нас в FacebookTelegramVkontaktePinterest.

+1
0
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0
Поделиться: