Запекание освещения и AO для VR: настройка и оптимизация

Realtime global illumination в мобильном VR — это мечта, которая разбивается о 6.9 мс на фрейм. На Quest 3 нет ни Lumen, ни SSAO приличного качества без просадок. Мы предлагаем единственный способ получить rich освещение со сложными тенями и контактным AO — **запечь его заранее**. Наша команда имеет

Наши компетенции

Другие услуги студии

VR/AR/MR приложения на заказ

Впечатляйте клиентов и обучайте команду в виртуальной реальности

Разработка игр на Unity

От идеи до релиза — игры, которые запоминаются

3D-моделирование и анимация

Оживим ваш продукт в объёмной графике и анимации

VR-тренажёры промышленного оборудования

Тренируем операторов на технике без риска и простоя

AR-инструкции для производства

Пошаговые подсказки прямо на оборудовании — без бумаги

Safety-тренажёры

Отработка ЧС и техники безопасности без выхода на объект

VR/AR-тренинги

Обучаем персонал сервису, адаптации и soft skills в VR

Обучающие викторины

Проверка знаний в формате игры — легко и без стресса

Корпоративные видеоинструкции

Понятные ролики для обучения сотрудников и клиентов

Геймификация бизнес-процессов

Мотивируем команду через игровые механики в KPI и HR

Приложения для инфокиосков

Интерактивные экраны для магазинов, стендов и офисов

VR/AR-инсталляции

Wow-эффект для брендов на выставках, ивентах и в шоу-румах

Виртуальные выставки и музеи

Ваша экспозиция доступна из любой точки мира — 24/7

Event-квесты и брендированные игры

Запоминающиеся игры для конференций и клиентских ивентов

Часто задаваемые вопросы

Последние работы

  • image_games_mortal_motors_495_0.webp
    Разработка игры для компании Mortal Motors
    1504
  • image_games_a_turnbased_strategy_game_set_in_a_fantasy_setting_with_fire_and_sword_603_0.webp
    Пошаговая стратегия в фэнтези сеттинге With Fire And Sword
    1005
  • image_games_second_team_604_0.webp
    Разработка игры для компании Second term
    635
  • image_games_phoenix_ii_606_0.webp
    3D-анимация — тизер для игры phoenix 2.
    716
  • image_training-quizzes_kids_shopping_quiz_614_0.webp
    Обучающая викторина для детей «Покупки в магазине»
    95

Realtime global illumination в мобильном VR — это мечта, которая разбивается о 6.9 мс на фрейм. На Quest 3 нет ни Lumen, ни SSAO приличного качества без просадок. Мы предлагаем единственный способ получить rich освещение со сложными тенями и контактным AO — запечь его заранее. Наша команда имеет 10+ лет опыта в VR-разработке и выполнила более 50 проектов для Quest и PC VR.

Но запечённое освещение в VR имеет собственные проблемы, которых нет на плоском экране. Давайте разберём каждую.

Как избежать UV seams в VR?

Первая головная боль — seam stitching. При стандартных настройках края смежных UV-островов на lightmap дают тёмные или светлые полосы на стыках мешей. В обычной игре это замаскировано движущейся камерой. В VR стоячий игрок рассматривает угол комнаты вплотную и видит каждый артефакт.

Решение: в Unity включается Stitch Seams в настройках Lightmap Parameters, texel size снижается до 0.1–0.2 для статических мешей окружения, а UV2 (Lightmap UV) должна иметь достаточный padding — минимум 2 пикселя на 512-атлас, 4+ пикселя на 1024 и выше.

Почему temporal flickering возникает именно в VR?

Если lightmap содержит gradients с высокочастотными деталями (резкие тени от мелких объектов), Asynchronous TimeWarp подхватывает старый кадр и интерполирует — на статичных поверхностях появляется лёгкое мерцание. Это решается сглаживанием AO-радиуса и отключением sharp point shadows в запекании.

Stereo-несоответствие — ещё одна особенность. В VR два глаза видят сцену под немного разными углами. Запечённые specular highlights выпечены под одну точку зрения и не изменяются при смещении головы, что ломает depth perception. Для мобильного VR specular вообще лучше не запекать — только diffuse + AO.

Как правильно настроить запекание для VR-сцены?

Выбор baking backend. В Unity Progressive Lightmapper — стандарт. GPU Progressive (через OIDN деноизер) быстрее, но требует настройки: увеличить Sample Count до 512–1024 для gutter зон, включить Prioritize View для зон, видимых с типичной позиции игрока.

Разделение на Baked и Realtime. Не всё окружение нужно запекать. Статические стены, пол, потолок, крупная мебель — в Baked. Объекты, которые могут двигаться или реагировать на игрока — в Mixed или полностью Dynamic с Light Probes. Light Probe Groups расставляются там, где Dynamic объекты появляются: зоны взаимодействия, маршруты NPC.

Ambient Occlusion. В запечённом варианте AO — часть Indirect Lighting или отдельная карта в Substance Painter/Marmoset. Для VR рекомендую контактный AO с малым радиусом (0.05–0.15 м) и высокой интенсивностью: он даёт sense of weight объектам без артефактов на дистанции. Большой радиус AO в VR-комнате создаёт иллюзию «грязи» на стенах. Подробнее об Ambient occlusion можно прочитать в энциклопедии.

Для Quest: lightmap атлас максимум 1024×1024, желательно 512×512 для большинства сцен. Несколько атласов лучше одного гигантского — это упрощает streaming при переходе между зонами. Формат хранения: ASTC 6×6 через переопределение в Texture Importer.

Что входит в работу?

Настройка запекания выполняется под ключ и включает:

  • Аудит текущей сцены: проверка UV, lightmap atlas, батчинга.
  • Выбор backend и параметров запекания (Sample Count, denoiser, padding).
  • Расстановку Light Probe Groups для динамических объектов.
  • Создание запечённых карт (диффуз, AO) и их сжатие под целевую платформу.
  • Тест производительности: проверка FPS budget (<8 мс на фрейм для Quest).
  • Передачу проекта с комментариями и рекомендациями по дальнейшей поддержке.

Наши клиенты экономят в среднем 30% времени на ручной оптимизации lighting, что напрямую снижает бюджет проекта.

Запекание в сторонних инструментах

Для высококачественного контента PC VR используем Marmoset Toolbag (быстрый GPU baker, отличный AO с ray-traced shadows) или Substance 3D Painter (для запекания per-object в пайплайне текстурирования). Результирующие карты импортируются в Unity как Emissive или смешиваются в кастомном шейдере с realtime компонентом.

Для крупных сцен — Blender Cycles с denoise (Intel OIDN или OptiX) как offline baker: медленнее, но даёт результат кинематографического качества для cinematic VR-опытов.

Инструмент Скорость Качество Лучшее применение
Unity Progressive Быстро Хорошее Средние сцены, мобильный VR
Marmoset Toolbag Очень быстро Отличное PC VR, хай-поли
Blender Cycles Медленно Кинематографическое Cinematic VR, пререндер

Пошаговая настройка lightmap для VR

  1. Проверьте UV2 моделей: padding не менее 4 пикселей на 1024-атлас.
  2. Отключите specular в baking для мобильных платформ.
  3. Используйте OIDN denoiser для GPU Progressive.
  4. После запекания проверьте сцену в VR-режиме через Oculus Link или SteamVR.
  5. При необходимости уменьшите texel size для критичных зон.

Ориентировочные сроки

Сцена Сроки
Небольшое интерьерное помещение 1–2 рабочих дня
Средняя сцена (5–10 зон) 3–5 рабочих дней
Крупная открытая локация 1–2 недели

Стоимость рассчитывается индивидуально после аудита сцены и требований к качеству. Свяжитесь с нами для бесплатного аудита вашей VR-сцены — мы проанализируем текущие настройки и предложим оптимальные параметры запекания.