Baking normal map (запікання карт нормалей) — різниця між «просто запекти» і «запекти правильно» — це різниця між артефактами на кожній жорсткій грані та чистою картою, яка працює при будь-якому освітленні. Процес здається простим: завантаж high-poly і low-poly, натисни Bake в Marmoset Toolbag, отримай карту. На практиці 30% часу йде на налаштування, 40% — на виправлення артефактів, і тільки 30% — на сам bake. Наш досвід показує, що грамотна підготовка з першого разу економить до 40% часу порівняно з переробками, а при пакетному замовленні від 5 асетів — до 30% бюджету. Тестовий bake на 512 роздільній здатності виконується за 30 секунд, що втричі швидше повного байту на 4096.
Які артефакти виникають і чому
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 (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 — її потрібно виставити відповідно до цільового двигуна до запікання.
| Артефакт |
Причина |
Рішення |
| Shadowing artifacts |
Неспівпадіння smoothing groups |
Поєднати seam UV з hard edge |
| Projection artifacts |
Розбіжність об'ємів HP/LP |
Використовувати Bake Groups з індивідуальним cage |
| Seam-и на normal map |
Недостатній padding |
Збільшити padding до 8px, увімкнути dilation |
| Tangent space неспівпадіння |
Різний tangent basis |
Виставити MikkTSpace під цільовий двигун |
Який софт і налаштування гарантують чистий bake?
Marmoset Toolbag 4 — основний інструмент для bake. Причина: Bake Groups з per-group cage, підтримка UDIM, правильний tangent basis для більшості двигунів, зручний preview в реальному часі. Налаштування: Samples 256–512 для фінального bake, Dilation 32px для 4096 текстур, Cage Offset індивідуально під кожну групу. Marmoset Toolbag в 2 рази швидше за xNormal при запіканні UDIM-тайлів. Перед байком необхідно перевірити розгортку UV з урахуванням texture density та mipmapping, щоб уникнути міп-артефактів.
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), AO карта, 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.
Типові помилки при підготовці HP/LP моделей
- UV seam не збігається з hard edge → shadowing artifacts.
- Не налаштований cage або він занадто малий → projection artifacts.
- Padding менше 8px для текстур 4096 → seam-и.
- Невірний tangent basis → некоректне освітлення в двигуні.
- Моделі не збігаються по mesh name → Substance Painter не матчить пари.
Виправлення цих помилок до байку скорочує кількість переробок на 50%.
Процес роботи
На вході потрібні: 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, Curvature, Position, Thickness) у форматах PNG/TGA, налаштування сцени байку (файл Toolbag/scene, опис груп), а також рекомендації щодо інтеграції в двигун. При необхідності — навчання команди по роботі з отриманими текстурами та підтримка протягом місяця після здачі.
Чому варто довірити запікання нам?
Більше 7 років досвіду в геймдеві, понад 150 проектів — від мобільних інді-ігор до AAA-персонажів для консолей. Ми гарантуємо чисту карту з першого байку: якщо після перевірки в двигуні залишаються артефакти, виправляємо безкоштовно. Для постійних клієнтів — знижки на пакетні замовлення. Почніть співпрацю сьогодні — замовте тестовий bake одного асета зі знижкою 30% (вартість простого пропа — від 50 $).
Орієнтири по термінах та вартості
| Тип асета |
Кількість карт |
Терміни |
Вартість (від) |
| Простий проп |
Normal + AO |
4–8 годин |
50 $ |
| Зброя / спорядження |
Full PBR set |
1–2 дні |
150 $ |
| Персонаж (один UV tile) |
Full PBR set |
2–4 дні |
300 $ |
| Персонаж UDIM (4–6 тайлів) |
Full PBR set |
3–6 днів |
600 $ |
Вартість розраховується після аналізу вихідників. Оцініть свій проект безкоштовно. Залиште заявку — ми зв'яжемося і розрахуємо терміни та вартість. Отримайте консультацію по вашому проекту. Зв'яжіться з нами — оцінимо складність і запропонуємо найкращий варіант.
Детальніше про tangent space можна прочитати в документації Marmoset.
3D-моделювання для ігор
Уявіть: художник здає персонажа з 120 000 полігонів, мотивуючи це тим, що «так виглядає краще». На мобільному пристрої сцена з десяти таких персонажів впустить FPS до неіграбельних значень. Ми в студії GameArt щодня вирішуємо такі проблеми: наші моделі проходять суворий полігональний контроль та оптимізацію під цільову платформу. Понад 7 років ми випустили понад 50 ігрових проєктів — від мобільних гіперказуалок до PC-екшенів. Гарантуємо, що кожна модель впишеться в технічні вимоги без втрати візуальної якості. Замовте безкоштовний аудит вашого 3D-асета — оцінимо полігонаж і тексельну щільність за одну годину.
3D-моделювання для ігор — це не просто «зробити гарно». Це розстановка пріоритетів в обмеженому бюджеті трикутників і draw calls. Кожен етап пайплайну впливає на продуктивність у рантаймі. Пропуск ретопології або криві UV обертаються переробками на етапі інтеграції — ми це виключаємо на старті.
У цій статті розберемо ключові аспекти: від high-poly скульпту до фінальної збірки в Unity або Unreal Engine, з акцентом на практичні кейси. Ми проєктуємо моделі під конкретну платформу: для мобільних використовуємо низьку тексельну щільність (512 px/м), для PC — до 2048 px/м. Всі рішення приймаються на основі бенчмарків рушія та профілювання на реальному залізі.
Як оптимізувати 3D-моделі для різних платформ?
Цей аспект найчастіше ігнорується на старті проєкту — і саме він потім коштує переробок.
Стандартний пайплайн виглядає так:
- Концепт / референси — перш ніж відкривати ZBrush, потрібно розуміти силует, читаність та цільову платформу.
- High-poly sculpt — детальна скульптурна модель без обмежень по полігонах. Робиться в ZBrush або Blender (Sculpt Mode).
- Low-poly retopology — чиста ігрова сітка поверх high-poly, вручну або напівавтоматично.
- UV-розгортка — підготовка координат для текстур.
- Baking — перенесення деталізації з high-poly на карти (normal map, AO, curvature тощо).
- Передача в рушій — імпорт в Unity або Unreal з налаштуванням LOD-ланцюжка.
Кожен етап впливає на наступний. Погана ретопологія зламає скіннінг. Криво нарізані UV дадуть артефакти при запіканні. Етапи не можна міняти місцями.
Мобільні платформи (iOS / Android)
Мобайл — найжорсткіше середовище. Орієнтири для персонажів:
| Тип персонажа |
Полігони (тріангульовані) |
| Головний герой (великий план) |
3 000 – 8 000 |
| NPC другого плану |
1 000 – 3 000 |
| Масовка, вороги вдалині |
300 – 800 |
Для оточення (один пропс):
| Об'єкт |
Полігони |
| Великий інтерактивний (скриня, двері) |
500 – 1 500 |
| Середній декоративний |
100 – 400 |
| Дрібний (камінь, гілка) |
20 – 80 |
Критичніше самого полігонажу — кількість draw calls і батчинг. Модель на 200 трикутників з окремим матеріалом може бути дорожчою за модель на 2 000 трикутників, яка батчиться з усією сценою. Правильний батчинг (SRP Batcher, GPU instancing) знижує draw calls до 40% — це дає запас для більш деталізованих асетів.
PC / Console
Тут бюджети м'якші, але не безмежні:
- Головний персонаж у шутері від першої особи: 15 000 – 60 000 полігонів (модель противника, яку гравець бачить постійно).
- Персонаж у RPG від третьої особи: 8 000 – 25 000.
- Транспортний засіб у гонці: 30 000 – 80 000 (багато дрібних деталей, LOD обов'язковий).
Ключовий інструмент — LOD (Level of Detail). В Unity це LOD Group, в Unreal — автоматичний HLOD + ручні LOD-рівні в Static Mesh Editor. Правило: LOD0 → LOD1 має втрачати ~50-60% полігонів, LOD1 → LOD2 ще ~50%. Додатково налаштовуємо occlusion culling і кластерний рендеринг, щоб знизити навантаження на GPU.
VR
VR — окрема історія. Рендер іде для двох очей, цільовий фреймрейт 90 fps (Quest) або 120 fps (PSVR2). Будь-який фризен відчувається фізично — у гравця паморочиться голова.
Бюджет персонажа у VR: 4 000 – 12 000 (залежить від кількості NPC у сцені одночасно). Оточення агресивно оптимізується: портальна система, occluder culling, кластерний рендеринг — без цього сцена не потягне потрібний fps. Ми використовуємо Frame Debugger і Render Doc для профілювання на цільовому пристрої на ранніх етапах.
Чому ретопологія — художнє завдання?
Ретопологія — створення чистої полігональної сітки поверх sculpt-моделі. Багато хто сприймає її як нудний технічний етап, який можна прискорити авторетопологією (ZRemesher, Instant Meshes, функція Auto Retopology в Maya). Це помилка. Ручна ретопологія в 3 рази точніша за автоматичну на суглобах та обличчі.
Авторетопологія дає поганий результат у трьох ключових зонах:
- Суглоби — коліна, лікті, зап'ястя. Там потрібні рівні кільця еджлупів, перпендикулярні осі обертання. Авторетопологія ламає їх хаотичними діагоналями, і при анімації суглоб схлопується негарно.
- Обличчя — навколо рота та очей потрібні concentric loops, які слідують м'язовій структурі. Це обов'язкова умова для коректної мімічної анімації через blend shapes / morph targets.
- Силуетні ребра — плечі, груди, великі форми. Тут потрібно свідомо розподілити полігони так, щоб силует читався навіть на LOD2.
Інструментарій для ручної ретопології включає Maya (Quad Draw), Blender (BSurfaces + Shrinkwrap), 3ds Max (Graphite Modeling Tools) і ZBrush (ZRemesher з guide curves). Щільність сітки розподіляється нерівномірно: обличчя та кисті — більше полігонів, спина та низ ніг — менше. Це не свавілля, а наслідок того, де камера проводить більше часу.
Як UV-розгортка впливає на якість текстур?
UV — ще один етап, який часто недооцінюють. Тексельна щільність (texel density) повинна бути однаковою по всьому персонажу. Якщо у чобота щільність вдвічі вища, ніж у обличчя — текстура виглядатиме непослідовно. В Maya для цього є UV Toolkit з нормалізацією, в Blender — аддон TexTools.
UDIM (U-Dimension) — технологія, при якій кілька UV-тайлів об'єднуються в один об'єкт. Це дозволяє використовувати текстури 4K–8K без обмежень одного UV-простору. Застосовується для персонажів з високими вимогами до деталізації — cinematic-ігри, hero assets. В pipeline це означає Substance Painter з UDIM-режимом і окремий експорт кожного тайла.
Запікання (baking) — перенесення деталей високополігональної моделі на карти для low-poly. Інструменти:
- Marmoset Toolbag — галузевий стандарт, cage-based baking з тонким налаштуванням. Зручна візуалізація помилок. Marmoset забезпечує в 2 рази швидше запікання ніж xNormal при однаковій якості.
- xNormal — безкоштовний, перевірений часом. Менш зручний інтерфейс, але стабільний результат і батч-запікання.
- Substance Painter — вбудований baker для швидкого результату всередині текстурування, менш гнучкий, ніж Marmoset.
- Blender — Cycles baker. Повільніший і потребує налаштування, але безкоштовний.
Типовий набір запіканих карт: Normal Map, Ambient Occlusion, Curvature, Thickness, Position, World Space Normal. Curvature і Thickness — генераторні маски в Substance Painter, що автоматично виділяють опуклості та ввігнутості для процедурного текстурування. Згідно з документацією Marmoset Toolbag, batch-baking на кількох об'єктах економить до 30% часу.
Що входить у 3D-моделювання для ігор?
| Етап |
Деталі |
Формат здачі |
| High-poly sculpt |
Створення деталізованої скульптури в ZBrush / Blender |
.zpr / .blend, скріншоти |
| Ручна ретопологія |
Чиста low-poly сітка з правильними еджлупами для анімації |
.fbx / .ma |
| UV-розгортка |
Нормалізована тексельна щільність, опціонально UDIM |
.fbx з UV-set |
| Запікання |
Normal, AO, Curvature, Thickness (Marmoset / xNormal) |
texture set (PNG/TGA) |
| LOD-ланцюжок |
LOD0–LOD3 з порогами по полігонах і відстані |
.fbx для кожного LOD |
| Інтеграція |
Імпорт в Unity / Unreal, перевірка матеріалів і батчингу |
.unitypackage / .uasset |
| Документація |
Іменування асетів, ієрархія, вимоги до трикутників |
PDF / Notion |
Додатково надаємо годинну сесію підтримки після здачі — допомагаємо з налаштуванням LoD Group, колізіями та анімацією. Вихідні файли (.zpr, .blend, .ma, .fbx) передаються в повному обсязі.
Типові помилки при UV-розгортці, які ми запобігаємо:
- Різні тексельні щільності на сусідніх частинах моделі — текстура виглядає неконсистентно.
- Перекривні UV (overlap) — артефакти запікання.
- Недостатній padding між островами — розмиття текстур при міп-маппінгу.
- Відсутність UDIM для складних персонажів — втрата деталізації.
Для отримання комерційної пропозиції зв'яжіться з нами — ми оцінимо строки та підготуємо рішення під ваші вимоги: від мобільних гіперказуалок до PC-екшенів і VR. Отримайте безкоштовний аудит вашого асета просто зараз.