• Студия
  • API
  • Тарифы
  • Кредит

На этой странице

Главная
Блог
Запекание Normal Map: полный пайплайн от high-poly до game-ready ассета

Запекание Normal Map: полный пайплайн от high-poly до game-ready ассета

Изучите запекание карт нормалей с high-poly на low-poly. Сравните Blender, Substance Painter и Marmoset Toolbag, исправьте швы и артефакты, а также настройте запечённые карты в движках Unity и Unreal.

12 августа 2026 г.

Вы вылепили детализированный ящик в стиле sci-fi. Линии панелей, заклёпки, царапины, потёртый штамп производителя. Высокополигональная модель содержит 4 миллиона треугольников. Ваш целевой показатель для игры — 800 треугольников на объект. Вы не можете использовать эту высокополигональную модель в финальной версии. Вместо этого вы запекаете карту нормалей, и низкополигональная модель ящика воспроизводит все царапины и заклёпки за счёт данных освещения. Это и есть запекание карты нормалей: перенос деталей поверхности с высокополигонального меша на низкополигональный через текстуру.

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

Что такое запекание нормальных карт?

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

Как работает запекание карт нормали

Процесс запекания испускает лучи от поверхности низкополигональной модели наружу вдоль нормалей вершин. Каждый луч попадает на поверхность высокополигональной модели и фиксирует направление, в котором смотрит её грань. Это направление кодируется в виде RGB в карте нормалей. Красный канал хранит ось X, зелёный — ось Y, синий — ось Z. Когда GPU выполняет сэмплирование карты, он корректирует нормали низкополигональной модели, чтобы они ловили свет так, как если бы геометрия высокополигональной модели действительно была там.

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

Нормальные карты в пространстве касательных против нормальных карт в локальном пространстве объекта

Большинство нормальных карт в играх применяют касательное пространство. Нормальная карта в касательном пространстве относится к UV-развёртке модели, поэтому одну и ту же карту можно использовать на разных мешах, и она будет правильно вращаться вместе с объектом. Ровный синий цвет (128, 128, 255) означает «направление прямо наружу, без возмущений».

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

Почему запекают карты нормалей вместо поставки high-poly моделей

Ящик с 4 миллионами треугольников требует 4 миллиона выполнений вершинных шейдеров за кадр, плюс накладные расходы на вызовы отрисовки, плюс память. Ящик с 800 треугольниками и картой нормалей требует 800 вершин и один семпл текстуры. В сцене с 200 объектами эта разница создаёт разрыв между 60 кадрами в секунду и слайд-шоу (зависающее изображение).

Запекание также позволяет отделить детализацию от производительности. Вы создаёте детали один раз в высоком разрешении, а затем экспортируете их как текстуру 2K или 4K, которую может носить любая низкополигональная сетка.


Процесс запекания карт нормалей с high-poly на low-poly

Пайплайн состоит из пяти этапов. Пропустите хотя бы один — и получите швы, инвертированные нормали или карту без эффекта.

Шаг 1. Создание или импорт исходной высокополигональной модели

Начните с детализированной сетки. Это ваша скульптура из ZBrush, ваш субдивизированный булев объект или сгенерированный высокополигональный объект. Высокополигональная модель должна иметь чистую, многоугольную (manifold) геометрию с детализацией поверхности, которую вы хотите запечь: скосы, зазоры панелей, текстура ткани, поры кожи.

Если исходная модель сгенерирована, а не смоделирована вручную, в качестве источника для запекания можно использовать высокополигональную сетку, сгенерированную ИИ, с PBR-текстурами, вместо часов работы в ZBrush. Этот подход мы рассмотрим в следующем разделе.

Шаг 2: Моделирование низкополигональной игровой модели

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

Low-poly не нуждается в деталях. Ему нужна форма. Остальное восполняет карта нормалей.

Шаг 3: Создание корректных UV-развёрток

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

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

Шаг 4: Настройка ограничивающего объема или дальности прорисовки лучей

Пекарю требуется знать, на какое расстояние испускать лучи. У пекаря есть два варианта.

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

Дальность луча. Фиксированная дальность луча испускает лучи заданной длины от низкополигональной сетки. Если задать слишком короткое расстояние, лучи никогда не достигнут высокополигональной сетки, оставляя пустые участки. Если задать слишком большое расстояние, лучи проходят сквозь высокополигональную сетку и попадают на обратную сторону, инвертируя рельеф. Безопасный начальный диапазон — от 0,01 до 0,1 единицы в зависимости от масштаба вашей сцены, затем настраивайте для каждой модели.

Шаг 5: Выпечка и экспорт карт текстур

Выполните запекание. На выходе получается карта нормалей, обычно в формате PNG или TIFF. Также запеките карту глобального затенения, если вам нужны контактные тени в углублениях, и карту кривизны, если ваш инструмент поддерживает её для имитации износа краёв. Экспортируйте в разрешении 2K для большинства объектов и в 4K для главных объектов, видимых крупным планом.

Полное руководство по набору PBR-текстур, соответствующему вашей карте нормалей, см. в нашем руководстве по использованию игровых текстур в формате PNG.

Сравнение инструментов для запекания карт нормалей

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

Запекание нормальных карт в Blender

Blender бесплатно генерирует карты нормалей. Установите движок рендеринга Cycles, добавьте узел Image Texture к материалу низкополигональной модели, выберите высокополигональную и низкополигональную модели, включите опцию Selected to Active и нажмите Bake с типом Normal. Blender поддерживает cage-сетки через поля Extrusion и Max Distance. Точную раскладку панелей см. в официальной документации Blender по запеканию.

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

Запекание в Substance Painter

Substance Painter — это студийный стандарт. Он запекает карты нормалей, окклюзии, кривизны, положения и идентификационных карт за один проход, с интерактивным окном предпросмотра, которое показывает ошибки до применения. Его алгоритм сопоставления обрабатывает большинство сеток без ручного каркаса и экспортирует прямо в проект текстурирования. Руководство по запеканию в Adobe Substance 3D Painter подробно описывает все настройки запекания.

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

Marmoset Toolbag

Marmoset Toolbag — это программное обеспечение с приоритетом визуализации. Его бейкер быстр, имеет интерактивный редактор кейджа и лучший в своей области предпросмотр в реальном времени. Художники используют его для проверки запеканий до передачи в движок. Это единоразовая покупка, а не подписка. Бейкер Marmoset Toolbag остаётся самым быстрым способом проверки карты нормалей перед импортом в движок.

Ограничение кроется в функционале. Toolbag предназначен для запекания и превью, но не является полноценным набором инструментов для текстурирования. Большинство команд используют его вместе с Painter или Substance на этапе ручного текстурирования.

ZBrush и другие способы запекания

ZBrush запекает текстуры с помощью инструментов Projection Master и UV Master, что эффективно, если ваша высокополигональная модель уже создана в ZBrush. Toolbag и Painter без проблем работают с файлами, экспортированными из ZBrush. Для чистого запекания карт нормалей без скульптинга ZBrush избыточен.

Какой инструмент выбрать?

Выбирайте инструмент под пайплайн, а не под хайп.

Инструмент

Лучше всего подходит для

Стоимость

Опора для клетки

Прямой эфир

Blender

Независимые разработчики, бесплатный пайплайн

Бесплатно

Да (методом экструзии)

Нет

Substance Painter

Команды, работающие с текстурированием в Painter

Подписка

Да (авто + ручной режим)

Да

Marmoset Toolbag

Валидация выпечки, быстрые итерации

Однократный

Да (интерактивный режим)

Да

ZBrush

Лепка и обжиг в одном приложении

Единовременный

Ограниченная

Частично


Типичные ошибки бейкинга карты нормалей и как это исправить

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

Швы появляются на краях карты UV

Почему на границах UV-координат появляются швы карты нормалей

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

Как исправить артефакты швов карты нормалей

Выровняйте края UV-оболочки так, чтобы плотность и ориентация текселей совпадали вдоль шва. Добавьте достаточный отступ в настройках запекания (от 2 до 4 пикселей), чтобы данные размытых краёв корректно перекрывались. В Substance Painter включите опцию расширения границ. В Blender увеличьте значение отступа. Для моделей с твёрдой поверхностью размещайте швы в вогнутых областях, где линия скрыта освещением.

Расстояние между клеткой и лучом слишком малое или слишком большое

Как установить расстояние луча для запекания карты нормалей

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

Откройте cage (ограничительный объем) в инструменте запекания и расширьте его так, чтобы он равномерно выступал за пределы high-poly модели. Если вы используете Ray Distance, начните со значения 0,05 и постепенно повышайте его, пока не исчезнут пустые области, затем немного уменьшите значение, если начнут захватываться задние грани. Индивидуальная настройка каждого меша даёт лучший результат, чем глобальный параметр.

Резкие грани искажают карту нормалей

Как исправить артефакты карты нормалей на жестких границах

Резкий излом на низкополигональной геометрии создаёт резкий скачок нормали на 90°, который карта нормалей в пространстве касательных не может отобразить плавно. Вдоль края появляется тёмная линия или освещённый шов.

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

Наложение UV-карты вызывает удвоение текстур

Как выявить и исправить наложение UV-развёртки

Перекрывающиеся UV-области проецируют два набора деталей в одни и те же тексели. Результат выглядит смазанным или ореольным.

Сделайте новую развертку без перекрытий. Используйте шахматную UV-текстуру, чтобы визуально обнаружить перекрытия перед запеканием. Большинство инструментов для запекания предупреждают о перекрытиях. Не игнорируйте их. Математические основы методов raycast и cage подробно описаны в вики Polycount по запеканию текстур.

Нормали выглядят перевернутыми или неверного цвета

Исправьте инвертированное цветовое пространство и ось карты нормалей

Карта, которая выглядит преимущественно фиолетовой или зелёной, или у которой свет исходит с неправильной стороны, вероятно, использует неверное цветовое пространство или имеет инвертированную ось.

Убедитесь, что карта нормалей в вашем движке настроена на данные Non-Color, а не sRGB. Проверьте параметры переворота (Flip X, Flip Y, Flip G) в бакере, если направление деталей неверно. Blender и OpenGL используют зелёный канал направлен вверх; некоторые инструменты DirectX — зелёный канал направлен вниз. Приведите настройки в соответствие с вашим движком.

Настройка запечённых карт нормалей в игровых движках

Идеальная выпечка всё равно будет бесполезна, если движок интерпретирует её неправильно. И Unity, и Unreal нуждаются в корректных настройках импорта.

Настройки импорта карт нормалей в Unity

Импортируйте текстуру и установите тип текстуры в Normal map. Unity автоматически преобразует зеленый канал в свое внутреннее пространство. Оставьте sRGB выключенным. Установите сжатие на BC5 или высококачественный пресет для важных ассетов, так как агрессивное сжатие размывает мелкие детали. Для контрольного списка для игровых ассетов см. наш руководство по игровым 3D-моделям. Документация Unity по импорту нормальных карт подробно описывает поведение при сжатии и настройках sRGB.

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

Настройка карты нормалей в Unreal Engine

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

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

Когда запекать карты нормалей, а когда стоит отказаться

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

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

Мобильные GPU не справляются с картами нормалей в 4K. Карта в 2K или 1K с равномерной плотностью текселей лучше, чем 4K-карта, которая загружается и распаковывается с задержками. Фоновые объекты на мобильных устройствах можно уменьшать до 512 пикселей, если они никогда не показываются крупным планом. Оставьте 4K для главных ассетов на ПК и консолях.

Плотность текселей и разрешение текстур

Стремитесь к единой плотности текселей для всего набора ассетов: обычно 10,24 пикселя на сантиметр для стилизованных игр и 20,48 — для реалистичных. Если для достижения такой плотности ассету требуется разрешение выше 4K, значит, модель слишком детализирована для своего размера на экране. Либо уменьшите детализацию, либо согласитесь на более низкую плотность. Запекание не исправит модель, если ей требуется разрешение выше, чем позволяет текстурный бюджет.


Создавайте исходные высокополигональные модели с помощью Triverse AI

Основной проблемой при печати нормалей обычно является высокополигональный исходник. Ручная лепка детализированной высокополигональной модели в ZBrush занимает часы на каждый ассет. Для команд без выделенного художника по персонажам и предметам это узкое место замедляет весь процесс.

Triverse AI создаёт высокополигональные меши с PBR-текстурами на основе текстового запроса или изображения-референса. Вы можете использовать сгенерированную модель в качестве высокополигонального источника для запекания, пропустив этап ручного скульптинга.

Шаг 1: Создайте высокополигональную модель в Triverse. Откройте Triverse AI и выберите рабочую область HD Mesh. Введите описание требуемой модели, например «научно-фантастический контейнер, линии панелей, заклёпки, царапины, потёртый металл, высокая детализация». Результатом станет высокополигональная сетка с PBR-текстурами.

Шаг 2: Экспорт и подготовка к запеканию.Скачайте модель в формате FBX или OBJ. Импортируйте её в Blender или в выбранный вами инструмент для запекания. Эта высокополигональная модель станет исходной сеткой в вашем процессе запекания.

Шаг 3: Выполните запекание в предпочитаемой программе. Используйте высокополигональную модель Triverse в качестве исходной модели, а вашу низкополигональную игровую модель/меш в качестве целевой модели. Запеките карту нормалей в Blender, Substance Painter или Marmoset, как описано выше.

Ограничения возможностей Triverse AI

Triverse AI генерирует сетку и PBR-текстуры. Она не автоматически запекает карту нормалей и не авторигит модель. Вам всё равно необходимо запекать в вашем DCC-инструменте и заниматься ригом и анимацией далее. Рассматривайте сгенерированную высокополигональную модель как отправную точку, которая экономит время на скульптинге, а не как замену самому этапу запекания.


Основной вывод

Запекание нормалей переносит детализацию с высокополигональной модели на низкополигональную через текстуру; при этом рабочий процесс одинаков, независимо от того, создаёте ли вы исходник вручную или генерируете его. Создайте чистую высокополигональную модель, смоделируйте соответствующую низкополигональную, разверните UV без перекрытий, задайте клетку или расстояние лучей, затем запеките и экспортируйте текстуру в разрешении, допустимом для вашей платформы. Устраните швы с помощью поля отступа и выровненных UV-разверток, исправьте инвертированную детализацию с помощью инверсии зелёного канала и установите для текстуры цветовое пространство Non-Color в вашем движке. Для студий без большой арт-команды генерация высокополигонального источника с помощью Triverse AI устраняет бутлнек в процессе скульптинга, позволяя сосредоточить время на запекании и настройке движка — именно там формируется реальное качество.


Часто задаваемые вопросы по запеканию карт нормалей

Что такое создание карт нормалей простыми словами?

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

Как создать карту нормалей в Blender?

Установите движок рендеринга Cycles, добавьте узел «Текстура изображения» в низкополигональный материал, выберите сначала высокополигональную модель, затем низкополигональную, включите опцию «Selected to Active» и выберите тип запекания «Normal». Используйте поле «Extrusion» в качестве ограничивающей сетки и установите значение «Margin» для полей.

Почему при запекании карт нормалей возникают швы?

Швы появляются из-за того, что карты нормалей в касательном пространстве зависят от направления UV, которое меняется на каждой границе UV-островков. Исправьте их с помощью отступа в 2-4 пикселя, выровненных краёв UV-оболочек и размещения швов на вогнутых участках.

Какую дистанцию луча следует использовать для запекания карты нормалей?

Начинайте с 0.01 до 0.1 единиц измерения в зависимости от масштаба сцены. Увеличивайте значение, пока пустые области не заполнятся, затем уменьшите значение, если детали начинают инвертироваться. Каркасная сетка обеспечивает более надежный контроль по сравнению с фиксированным расстоянием лучей для сложных форм.

Substance Painter или Blender для запекания карт нормалей?

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

Как исправить инвертированные карты нормалей в Unreal Engine?

Включите опцию Flip Green Channel при импорте карты нормалей. Тангенциальный базис Unreal может отличаться от базиса вашего инструмента для бейкинга, и инвертирование зеленого канала исправляет детали, которые ориентированы неправильно.

Может ли ИИ создавать модели для последующего запекания карт нормалей?

Да. Такие инструменты, как Triverse AI, генерируют высокополигональные меши с PBR-текстурами из текста или изображений. Вы используете этот высокополигональный меш в качестве исходника для запекания в Blender, Substance Painter или Marmoset, а затем запекаете карту нормалей для вашего низкополигонального игрового меша.

Какое разрешение должно быть у запечённой карты нормалей?

Используйте 2K для большинства объектов, 4K для ключевых активов, видимых вблизи, и 1K или 512 для фоновых объектов на мобильных устройствах. Подбирайте разрешение под единую плотность текселей, а не устанавливайте максимальное значение по умолчанию.

Попробуйте Triverse БЕСПЛАТНО

Зарегистрируйтесь сейчас и получите бесплатные кредиты! Создавайте потрясающие 3D-модели одним кликом и скачивайте свои файлы моделей бесплатно уже сегодня.

Поделиться статьёй