Запекание карт Ambient Occlusion для графики

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

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

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

Посетить персонализированный сайт
Показано 1 из 1 услугВсе 242 услуг
Запекание карт Ambient Occlusion для графики
Простая
~1 рабочий день
Часто задаваемые вопросы
Наши компетенции
Какие этапы разработки игры?
Последние работы
  • image_games_mortal_motors_495_0.webp
    Разработка игры для компании Mortal Motors
    683
  • 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

Запекание карт 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 или полного набора карт рассчитывается индивидуально.