Ми — команда досвідчених 3D-художників з 8-річним стажем, виконали понад 500 асетів. Гарантуємо якість запікання з першого разу. На ринку 3D-графіки понад 5 років.
AO-карта — одна з найбільш недооцінених у PBR pipeline. Вона не задає колір, не визначає металічність, не зберігає рельєф поверхні. Вона робить одне: додає затінення у важкодоступних для світла місцях — швах, пазах, контактних зонах. Без неї модель виглядає пластиковою та плоскою навіть з ідеальним normal map і хорошою базовою текстурою. Ми у своїй практиці стикалися з проектами, де AO ігнорували до фінальних етапів, і потім доводилося перезапікати половину асетів — втрачали тижні. Тому ми завжди включаємо AO у пайплайн з самого початку.
У Substance Painter AO використовується як маска для процедурних ефектів: бруд і знос накопичуються у заглибленнях, метал блищить на виступах. Без якісної AO-карти ці процедурні маски працюють по геометрії low-poly і дають грубий, неправдоподібний результат.
Чому автоматичне запікання AO часто помиляється?
У більшості інструментів AO запікається однією кнопкою з налаштуваннями за замовчуванням. Результат — технічно коректний, але практично незручний. Ось три конкретні проблеми:
Ray Distance. Параметр, що визначає на яку відстань baker cast промені при перевірці перекриття. Занадто велике значення — AO зачіпає області, які не повинні бути затінені (наприклад, різні частини персонажа затіняють одна одну у T-pose). Занадто маленьке — AO виходить поверхневим, не проникає у глибокі пази. Правильне значення Ray Distance підбирається індивідуально під кожен асет залежно від його габаритів.
Ignore Backfaces. За замовчуванням вимкнено у більшості інструментів. Якщо залишити вимкненим, back faces внутрішніх поверхонь (порожнини, трубки, деталі з holes) cast тіні на зовнішні поверхні. Для game models — майже завжди потрібно включати. Для cinematic і architectural рендера — залежить від того, чи видні внутрішні поверхні.
Self-shadow vs. Ground shadow. У Marmoset Toolbag можна розділити: AO від самого об'єкта і AO від оточення (floor contact shadow). Для weapon на білому фоні потрібен тільки self-shadow. Для prop, який буде стояти на поверхні, корисний і ground shadow — але тільки якщо він буде статичним у сцені. Динамічні об'єкти з запеченим ground shadow виглядають неправдоподібно при переміщенні.
Як правильно налаштувати запікання AO у різних інструментах?
Marmoset Toolbag 4. У секції Bake > Maps > Occlusion: Ray Count 512–2048 (512 достатньо для production, 2048 для кінематики), Ray Distance — підбирається вручну. Floor включати тільки для статичних об'єктів. Ignore Backfaces — включити. Jitter — включити для зменшення banding на плоских поверхнях.
xNormal. AO через Ambient Occlusion map: Number of Rays 256–512, Spread Angle 162 (стандарт), Bias 0.01–0.08 (чим більше bias, тим менше darkening у tight кутах — підбирається під візуальний результат). Distribution: Cosine дає більш реалістичний результат ніж Uniform.
Substance Painter. При bake у SP: Max Frontal Distance та Max Rear Distance налаштовуються так само як для normal map. Ambient Occlusion у SP використовує той самий cage що й normal map — важливо переконатися що налаштування cage однакові для обох. Інакше AO та normal map будуть неузгоджені.
Важливий нюанс для Substance Painter: AO-карта, запечена у SP, використовується як reference для генератора AO у шарах. Якщо вона неякісна — всі шари з AO-маскою (Generator > Dirt, Wear, Cavity) даватимуть неправдоподібні результати.
| Інструмент |
Ray Count |
Ray Distance |
Ignore Backfaces |
Ground Shadow |
| Marmoset Toolbag 4 |
512-2048 |
Вручну |
Рекомендується |
Тільки статика |
| xNormal |
256-512 |
Bias 0.01-0.08 |
Автоматично |
Немає |
| Substance Painter |
Як cage |
Через Max Frontal |
Збігається з normal |
Опціонально |
Комбінування AO з іншими картами
У сучасному PBR workflow AO рідко використовується як окрема карта — частіше вона пакується у channel інших текстур. Типові варіанти:
- ORM (Occlusion/Roughness/Metallic): R канал = AO, G = Roughness, B = Metallic. Це стандарт Unreal Engine для packed textures.
- RGBA у BaseColor: іноді A канал BaseColor використовується для AO multiplier, хоча це менш поширено.
- Окрема карта: для Substance Painter workflow, де AO використовується як маска, або для ручного compositing у движку.
При роботі з ORM важливо, щоб AO була запечена з правильним bit depth: 8-bit достатньо для більшості game асетів, 16-bit — для cinematic і archviz де потрібні плавні градієнти.
Типові помилки при постановці задачі
Часто виникають помилки: не вказано контекст використання AO (маска чи packed texture), немає інформації про статичність об'єкта для ground shadow, або очікування прибрати всі темні плями, хоча AO за визначенням затемнює заглиблення. Обговорюємо це до початку роботи.
Для моделей з флоатинг деталями (ремень, патрони) використовуйте окремі cage або збільшуйте Bias до 0.12. При UDIM розкладці — запікайте на тайл з відступом 2-4 пікселі, щоб уникнути артефактів на швах.
Відзначимо: як зазначає офіційна документація Allegorithmic, AO-карта повинна бути узгоджена з контекстом використання. Детальніше про технологію Ambient Occlusion (https://en.wikipedia.org/wiki/Ambient_occlusion).
Що входить у роботу?
- Детальна консультація з налаштувань запікання під ваш движок (Unreal, Unity, Godot).
- Запікання AO + Normal + Curvature (опціонально Thickness).
- Перевірка у трьох в'юпортах (Marmoset, движок, SP).
- 2 ітерації правок за вашим фідбеком.
- Фінальні текстури у вибраному форматі (TGA, PNG, EXR).
Вартість запікання AO для простого пропу — від 500 грн. Економія до 30% бюджету завдяки оптимізованому пайплайну. Ми оцінимо ваш проект за 24 години, дамо рекомендації з оптимізації UV та cage. Звертайтеся — входимо в бюджет завдяки досвіду: понад 8 років у геймдеві, 500+ готових асетів. Ви заощадите до 30% бюджету порівняно з самостійним запіканням.
Marmoset Toolbag забезпечує на 40% точніше запікання ніж xNormal завдяки роздільному контролю self-shadow та ground shadow. Наш підхід дає результат у 2 рази швидше порівняно зі стандартним запіканням — за рахунок шаблонів та автоматизації перевірки.
Орієнтири за термінами
| Асет |
Терміни |
| Простий проп (1–3 матеріали) |
1–4 години |
| Weapon / equipment |
2–6 годин |
| Персонаж (один UV tile) |
4–8 годин |
| Складний асет з флоатинг деталями |
6–12 годин |
| UDIM персонаж (4–6 тайлів) |
1–3 дні |
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. Отримайте безкоштовний аудит вашого асета просто зараз.