Как запечь нормали для AI 3D-моделей (пошаговое руководство)

TL;DR
- Запекание нормалей переносит детали поверхности high-poly-меша на low-poly-меш в виде карты нормалей, сохраняя внешний вид без полной геометрической нагрузки.
- Сырые меши, сгенерированные AI, зачастую требуют очистки и создания отдельного low-poly-объекта перед запеканием.
- Практический рабочий процесс включает: очистку или ретопологию, UV-развёртку, настройку проекции, запекание, проверку и экспорт.
- Используйте карты нормалей в tangent space для большинства игровых ассетов и следите за выравниванием high- и low-poly-мешей.
- Большинство артефактов возникают из-за дистанции проекции, перевёрнутых граней, несоответствий жёстких рёбер или UV-швов, а также недостаточного отступа (padding).
AI-генераторы 3D-моделей способны создавать детализированные модели за секунды, однако многие сырые результаты слишком плотные для работы в реальном времени. Запекание нормалей переносит детали их поверхности на облегчённую low-poly-версию. Это руководство охватывает полный рабочий процесс — от подготовки чистого low-poly-меша до запекания в Blender и исправления типичных артефактов.
Что такое «запекание нормалей»?
Запекание нормалей переносит мелкие детали поверхности с высокополигональной модели на низкополигональную версию путём генерации карты нормалей. Вместо того чтобы хранить каждую канавку, царапину или скос в виде геометрии, текстура записывает, как каждая точка поверхности должна реагировать на свет.
Карта нормалей не добавляет полигонов и не изменяет силуэт. Она изменяет нормали поверхности, используемые в расчётах освещения, позволяя оптимизированному мешу сохранить большую часть внешнего вида высокополигональной модели. Этот рабочий процесс запекания нормалей меша является стандартным для игровых ассетов реального времени.
Почему AI 3D-модели требуют особого подхода
Традиционные конвейеры ассетов обычно предполагают создание детализированной высокополигональной модели и соответствующего низкополигонального целевого меша. Большинство сырых AI-сгенерированных мешей начинаются иначе: они представляют собой один плотный результат, который ещё требует оптимизации, прежде чем станет пригодным для запекания нормалей для AI 3D-моделей.
AI-меши не имеют низкополигонального двойника
Плотный AI-меш может служить источником высокополигональной модели, однако для запекания всё равно необходим отдельный низкополигональный приёмник. В зависимости от генератора и режима работы может потребоваться создать или доработать UV-развёртку и оптимизированную топологию.
Не стоит предполагать, что каждый AI-результат готов к производству. Перед тем как принять решение о децимации, ремеше или ретопологии, проверьте плотность полигонов, силуэт, UVs, топологию и целостность поверхности.
Топология, как правило, неупорядочена
Сырые AI-меши могут содержать неравномерную плотность треугольников, слабый поток рёбер, non-manifold-участки, перекрывающиеся грани или небольшие отверстия. Эти проблемы могут вызывать артефакты проекции или нестабильное затенение, поэтому перед запеканием следует устранить очевидные геометрические дефекты.
Что это меняет
Главное отличие заключается в добавленном этапе подготовки: необходимо создать подходящий низкополигональный целевой меш, проверить геометрию и развернуть чистые UVs до начала запекания. После этого процесс следует тому же рабочему процессу от высокого к низкому, что используется для обычных игровых ассетов.
Традиционный рабочий процесс запекания нормалей для 3D-моделей в сравнении с AI

Шаг 1: Подготовьте Low-Poly модель из вашей AI-модели
Вам потребуются две выровненные версии ассета: оригинальный детализированный меш в качестве high-poly источника и оптимизированный меш, на который будет запечена карта.
Вариант А: Автоматическое decimation или ремешинг
Для камней, мебели, пропов и других твёрдых объектов автоматическое decimation или ремешинг зачастую является самым быстрым вариантом. Такой инструмент, как Smart Mesh, способен сгенерировать чистую, оптимизированную low-poly топологию для real-time рабочих процессов; проверьте результат и скорректируйте целевое количество полигонов для ассета.
Вариант Б: Ретопология
Для персонажей или ассетов, которые должны изгибаться и деформироваться, ручная или quad-based ретопология, как правило, надёжнее. Edge loop-ы должны следовать форме объекта и предполагаемым движениям — это улучшает деформацию, UV-раскладку и стабильность запекания.
Насколько низким должен быть полигонаж?
Используйте количество полигонов как отправную точку, а не как универсальное правило. Небольшой проп может обойтись несколькими тысячами треугольников, более крупные элементы окружения — примерно 5 000–20 000, а персонажи могут потребовать 10 000–20 000 и более в зависимости от платформы, дистанции камеры, деформаций и стратегии LOD.
Сосредоточьтесь на сохранении силуэта, а не мелких деталей поверхности. Normal map восстановит большую часть этих деталей после запекания.
Сохраните оригинал как High-Poly
Сохраните копию оригинального плотного меша в качестве high-poly источника. Оптимизированная версия становится runtime-ассетом, тогда как программа для запекания проецирует детали источника на его UV-раскладку.
Подготовка AI 3D-моделей к запеканию normal map

Шаг 2: UV-развёртка низкополигональной модели
Низкополигональной модели необходима непересекающаяся UV-развёртка, поскольку карта нормалей является 2D-текстурой. Размещайте швы в менее заметных или структурно естественных местах — например, на нижней части объекта или вдоль шва одежды.
Оставляйте достаточный отступ между островами, чтобы избежать кровотечения, и следите за отсутствием нежелательных перекрытий. Автоматические инструменты UV-развёртки — хорошая отправная точка, однако перед запеканием обязательно проверьте швы, масштаб островов, их ориентацию и расстояние между ними.
Рекомендации по UV-развёртке для запекания карт нормалей

Шаг 3: Настройка запекания (High + Low + Cage)
Перед запеканием убедитесь, что high-poly и low-poly меши настроены правильно. Большинство ошибок запекания возникают из-за неправильного расположения или настроек проекции, а не из-за самого программного обеспечения для запекания.
Выровняйте High и Low в одном месте
Объекты high-poly и low-poly должны занимать одинаковое положение, иметь одинаковые вращение и масштаб, при этом трансформации должны быть проверены или применены единообразно. Поверхность low-poly должна близко повторять силуэт high-poly; ей не нужно охватывать каждую деталь, поскольку дальность проекции регулируется cage или настройками лучей.
Что такое Cage и зачем он нужен
Cage — это расширенная версия low-poly меша, определяющая начальные точки лучей проекции. Правильно подогнанный cage охватывает нужные детали high-poly, не захватывая посторонние поверхности, что уменьшает количество пропущенных лучей и перекрёстных проекций.
Установите дальность луча или величину выдавливания
Если вы не используете отдельный cage, настройте Max Ray Distance; при использовании cage настройте его выдавливание. Универсального значения не существует: сначала проверьте единицы измерения и масштаб модели, начните с небольшой доли её общего размера, выполните тестовое запекание и увеличивайте значение только до тех пор, пока не будет захвачена нужная деталь.
Слишком малая дальность упускает детали; слишком большая может задеть соседнюю геометрию и создать посторонние артефакты. Отдельно проверяйте проблемные зоны: пальцы, ремни, углубления и перекрывающиеся части.

Шаг 4: Запекание карты нормалей в Blender
Когда высокополигональная сетка, низкополигональная сетка и UV готовы, можно приступить к запеканию карты нормалей в Blender. Базовая настройка занимает всего несколько шагов.
- Переключите движок рендеринга на Cycles.
- Выберите низкополигональный объект, создайте материал, добавьте узел Image Texture, создайте целевое изображение и оставьте этот узел выбранным и активным.
- В разделе Render Properties > Bake выберите Normal и включите Selected to Active. Сначала выберите высокополигональный источник, а последним — низкополигональную цель, чтобы низкополигональный объект был активным, затем настройте cage или дистанцию луча.
- Нажмите Bake, проверьте результат на модели и сохраните сгенерированное изображение перед закрытием Blender.
Выбирайте разрешение исходя из экранного размера ассета и бюджета плотности текселей: 1K может подойти для небольших объектов, 2K — распространённый вариант для многих ассетов окружения, а 4K следует оставить для ассетов, которым действительно нужна детализация при близком рассмотрении. Разрешение не компенсирует плохие UV или некорректные настройки проекции.
Tangent Space против Object Space: что выбрать?
Для большинства задач запекания нормалей игровых ассетов выбирайте Tangent Space. Карты в tangent space определяются относительно поверхности сетки и остаются пригодными при трансформации или деформации объекта, что делает их стандартным выбором для анимированных ассетов и движков реального времени.
Карты Object Space хранят нормали в локальной системе координат объекта. Они могут быть полезны для статичных или специализированных пайплайнов, однако не подходят для деформации. Используйте их только тогда, когда целевой рендерер и рабочий процесс с ассетами явно требуют нормалей в object space.

Шаг 5: Проверка результата и исправление распространённых ошибок
Успешное запекание не заканчивается в момент завершения обработки в Blender. Перед экспортом ассета проверьте карту нормалей и модель под разными углами освещения. Большинство проблем при запекании легко исправить, если знать, на что обращать внимание.
Чтение карты
Карта нормалей в tangent space обычно имеет сине-фиолетовый оттенок, однако цвет сам по себе не доказывает корректность запекания. Просмотрите её на low-poly модели при вращающемся освещении и ищите чёрные зазоры, градиенты, пересекающие несвязанные части, или детали, спроецированные с неправильной поверхности.
Искажённые или смазанные лучи
Растянутые детали обычно означают, что лучи или cage не соответствуют исходной поверхности. Скорректируйте дистанцию проекции локально, при необходимости разделите близко расположенные части и выполните повторное запекание. Для hard-surface ассетов также проверьте соотношение между жёсткими рёбрами, сглаживанием и UV-разрезами.
Видимые швы UV
Видимые швы могут быть вызваны недостаточным отступом (padding), несоответствием жёстких рёбер и UV-разрезов, а также различиями между tangent basis запекальщика и движка. Увеличьте padding, разделите UVs по необходимым жёстким рёбрам и протестируйте экспортированный ассет в целевом рендерере.
Перевёрнутые или неправильные нормали
Если часть модели выглядит вывернутой наизнанку или имеет инвертированное освещение, пересчитайте нормали меша и проверьте наличие развёрнутых полигонов. В Blender используйте Recalculate Outside и включите Face Orientation, чтобы выявить неправильно ориентированные полигоны. Исправьте нормали граней перед повторным запеканием, так как даже небольшое количество перевёрнутых граней может создать заметные артефакты в итоговой карте нормалей.

Шаг 6: Экспорт и использование в движке
Экспортируйте низкополигональный меш с запечённой normal map в формате, поддерживаемом вашим пайплайном, — например, FBX, GLB или OBJ. Сохраните текстуру нормалей как отдельный файл или упакуйте её вместе с ассетом, если формат и инструментарий поддерживают такой рабочий процесс.
В Unity или Unreal Engine импортируйте текстуру как normal map и подключите её к входу нормалей материала. Unity использует normal map в стиле Y+ (OpenGL); если освещение в другом целевом пайплайне выглядит инвертированным, сначала уточните его соглашение о нормалях, прежде чем инвертировать зелёный канал — не делайте это по умолчанию.
Проверьте финальный ассет при нескольких направлениях освещения и на ожидаемом расстоянии просмотра. Хороший низкополигональный меш и normal map сохраняют мелкие детали поверхности, однако крупные элементы силуэта по-прежнему требуют геометрии.

Когда запекание нормалей не оправдывает себя
Запекание нормалей требует времени на настройку и последующее сопровождение, поэтому оно необходимо не для каждого ассета. Для простых геометрических пропов, объектов на дальнем плане или краткосрочных прототипов нередко достаточно хорошо оптимизированного меша и простых материалов.
Normal map влияет только на освещение; он не может создавать отверстия, глубокие вырезы или менять внешний контур объекта. Если элемент должен влиять на силуэт или отбрасывать собственную тень, сохраните достаточно геометрии, чтобы его отобразить.
Часто задаваемые вопросы
Что означает «запечатывание» (baking) в 3D-моделировании?
Запечатывание переносит выбранную информацию из одного представления в другое. При запечатывании нормалей направления поверхности высокополигональной модели записываются в текстуру для низкополигонального меша. Это позволяет облегчить меш во время выполнения, сохранив при этом мелкие визуальные детали.
Как запечь нормали в Blender?
Используйте Cycles, задайте низкополигональному объекту чистые UV и создайте активную цель Image Texture. Сначала выберите высокополигональный источник, а затем — низкополигональную цель, включите Selected to Active и запеките карту нормалей в tangent space. После завершения запекания проверьте и сохраните изображение.
Можно ли запечь нормали непосредственно на AI 3D-модели без ретопологии?
Вы можете запекать данные на любом меше с подходящими UV, однако запекание плотной модели на саму себя практически не даёт выигрыша в оптимизации. Для игрового ассета создайте отдельную низкополигональную цель с помощью Smart Mesh, децимации, ремешинга или ретопологии. Сохраните исходный плотный меш в качестве источника деталей.
Нужны ли модели high-poly и low-poly для запекания нормалей?
Для стандартного запекания нормалей с high-poly на low-poly — да: высокополигональный меш является источником деталей, а низкополигональный их принимает. Они должны находиться в одном координатном пространстве, а cage или дистанция лучей управляют проекцией. Рабочий процесс с мультиразрешением — отдельный случай, при котором запекание выполняется между уровнями подразделения одного меша.
Как текстурировать или исправить AI-сгенерированную 3D-модель?
Сначала проверьте геометрию, нормали, UV и топологию, вместо того чтобы применять одно автоматическое исправление ко всем моделям. Устраните серьёзные дефекты, создайте подходящую низкополигональную версию, разверните её и запеките необходимые карты. Затем текстурируйте и протестируйте ассет в том рендерере или движке, где он будет фактически использоваться.
В чём разница между картами нормалей в tangent space и object space?
Карты в tangent space хранят направления относительно поверхности меша и являются стандартным выбором для игр, скиннированных персонажей и деформируемых объектов. Карты в object space используют локальную систему координат объекта и лучше всего подходят для статичных или специализированных пайплайнов.
Заключение
Запекание нормалей превращает плотную исходную модель в готовый ассет для рендеринга в реальном времени: подготовьте чистую низкополигональную целевую сетку, запеките детали и проверьте результат в целевом движке. Чтобы сократить этап подготовки, начните с оптимизированной топологии в Tripo AI Studio, а затем тщательно настройте развёртку UV и параметры запекания под свой проект.






