Запікання карт нормалей і текстурних карт графіки
Запікання — це переведення геометричної інформації 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 днів |
Вартість розраховується після аналізу вихідників.





