Запекание карт Ambient Occlusion для графики
AO-карта — одна из самых недооценённых в PBR pipeline. Она не задаёт цвет, не определяет металличность, не хранит рельеф поверхности. Она делает одно: добавляет затенение в труднодоступных для света местах — швах, пазах, контактных зонах. Без неё модель выглядит «пластиковой» и «плоской» даже с идеальным normal map и хорошей базовой текстурой.
В 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) будут давать неправдоподобные результаты.
Комбинирование 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 для Substance Painter workflow (маска для генераторов) требует одних настроек, AO для packed ORM в движке — других. «Просто запеки AO» — не ТЗ.
Нет информации о статичности объекта. Floor / ground contact shadow запекать только для объектов, которые не двигаются.
Ожидание «убрать все тёмные пятна». AO по определению затемняет углублённые зоны. Если клиент хочет «светлую» AO — это не про отсутствие затенения, а про правильный Ray Distance и Spread Angle. Обсуждаем до начала работы.
Ориентиры по срокам
| Ассет | Сроки |
|---|---|
| Простой проп (1–3 материала) | 1–4 часа |
| Weapon / equipment | 2–6 часов |
| Персонаж (один UV tile) | 4–8 часов |
| Сложный ассет с флоатинг деталями | 6–12 часов |
| UDIM персонаж (4–6 тайлов) | 1–3 дня |
AO чаще всего запекается в рамках full PBR bake (Normal + AO + Curvature + Thickness). Стоимость отдельного AO или полного набора карт рассчитывается индивидуально.





