Запекание карт нормалей и текстурных карт графики

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

От иммерсивных приложений до игровых миров и 3D-сцен

Наша выделенная команда для VR/AR/MR-разработки, Unity-продакшна и 3D-моделирования и анимации с собственными кейсами и презентациями.

Посетить персонализированный сайт
Показано 1 из 1 услугВсе 242 услуг
Запекание карт нормалей и текстурных карт графики
Средняя
от 4 часов до 2 рабочих дней
Часто задаваемые вопросы
Наши компетенции
Какие этапы разработки игры?
Последние работы
  • image_games_mortal_motors_495_0.webp
    Разработка игры для компании Mortal Motors
    671
  • image_games_a_turnbased_strategy_game_set_in_a_fantasy_setting_with_fire_and_sword_603_0.webp
    Пошаговая стратегия в фэнтези сеттинге With Fire And Sword
    860
  • image_games_second_team_604_0.webp
    Разработка игры для компании Second term
    490
  • image_games_phoenix_ii_606_0.webp
    3D-анимация — тизер для игры phoenix 2.
    533

Запекание карт нормалей и текстурных карт графики

Запекание — это перевод геометрической информации high-poly модели в текстурные данные. Разница между «просто запечь» и «запечь правильно» — это разница между артефактами на каждой жёсткой грани и чистой картой, которая работает при любом освещении.

Процесс кажется простым: загрузи high-poly и low-poly, нажми Bake в Marmoset Toolbag, получи карту. На практике 30% времени уходит на настройку, 40% — на исправление артефактов, и только 30% — на сам bake.

Какие артефакты возникают и почему

Shadowing artifacts на hard edges. Классика: normal map выглядит нормально при прямом освещении, но при боковом свете на гранях появляются тёмные полосы. Причина — несовпадение smoothing groups на low-poly и граничных seam-ов UV. Правило, которое исправляет это в 90% случаев: seam UV должен совпадать с hard edge (smoothing group break). Это называется matched UV/smoothing workflow и это не опция, а обязательное условие для корректного bake.

Projection artifacts. При несовпадении объёмов high-poly и low-poly baker пытается найти ближайшую поверхность через ray casting и промахивается — особенно на сложных вогнутых формах и тонких элементах. В Marmoset Toolbag это решается через группы запекания (Bake Groups): каждая деталь с большим расхождением объёмов выделяется в отдельную группу с индивидуальным cage.

Seam-ы на normal map. Видимые разрывы по границам UV islands. Причина — недостаточный padding (2px вместо необходимых 8px) или floating geometry, которую baker интерпретирует неоднозначно. В xNormal эта проблема решается через Edge Padding post-process. В Marmoset Toolbag — через Dilation настройку в Output параметрах.

Tangent space несовпадение. Normal map запечена в одном tangent space, движок использует другой — результат: некорректное освещение, блики не там где нужно. Unity использует MikkTSpace, Unreal Engine — тоже MikkTSpace, но с нюансами в UE4 vs UE5. Marmoset Toolbag и Substance Painter поддерживают настройку tangent basis — её нужно выставить в соответствии с целевым движком до запекания.

Полный стек и настройки

Marmoset Toolbag 4 — основной инструмент для bake. Причина: Bake Groups с per-group cage, поддержка UDIM, правильный tangent basis для большинства движков, удобный preview в реальном времени. Настройки: Samples 256–512 для финального bake, Dilation 32px для 4096 текстур, Cage Offset индивидуально под каждую группу.

xNormal — используется для сложных случаев с custom cage и для пакетного запекания большого количества объектов. Быстрее Toolbag на больших сценах, но preview слабее.

Substance Painter — когда bake и текстурирование идут в одном инструменте. Match by Mesh Name workflow: low-poly называется Object_low, high-poly — Object_high. Painter автоматически матчит пары и запекает отдельно. Это критично для сложных ассетов с десятками деталей.

Карты, которые запекаем стандартно: Normal Map (tangent space), Ambient Occlusion, Curvature, Position, Thickness, World Space Normal. Последние три нужны для процедурных масок в Substance Painter. AO запекается с настройкой Ray Distance и Ignore Backfaces — без этого кавернатные детали дают неправильные тени.

Для персонажей с UDIM workflow запекание делается per-tile: каждый тайл (1001, 1002, 1003...) запекается с учётом своей геометрии. Marmoset Toolbag 4 поддерживает UDIM bake нативно — это одна из причин, почему он стал стандартом в character pipeline.

Процесс работы

На входе нужны: high-poly mesh (FBX/OBJ), low-poly mesh с готовым UV, информация о целевом движке (для tangent basis), размер текстурного атласа.

Проверка пары HP/LP. Смотрим соответствие объёмов, выявляем проблемные зоны — тонкие детали, острые углы, вогнутые формы.

Настройка bake groups. Разбиваем модель на группы по типу поверхности и сложности геометрии. Флоатинг геометрия (клёпки, накладки, детали) — в отдельные группы.

Тестовый bake. На уменьшенном разрешении (512 или 1024) проверяем все критичные зоны. Исправляем smoothing groups, перемещаем seam-ы, правим cage.

Финальный bake. Полное разрешение, максимальный sampling. Постпроцессинг: edge dilation, фильтрация.

QA в движке. Карты проверяются в целевом движке или в Marmoset Viewer под несколькими вариантами освещения — ключевой, боковой, backlight.

Ориентиры по срокам

Тип ассета Количество карт Сроки
Простой проп Normal + AO 4–8 часов
Оружие / экипировка Full PBR set 1–2 дня
Персонаж (один UV tile) Full PBR set 2–4 дня
Персонаж UDIM (4–6 тайлов) Full PBR set 3–6 дней

Стоимость рассчитывается после анализа исходников.