Запекание статического света (Lightmaps) в играх: полный гайд

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

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

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

Посетить персонализированный сайт
Показано 1 из 1Все 242 услуг
Запекание статического света (Lightmaps) в играх: полный гайд
Средний
~2 дня
Часто задаваемые вопросы

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

Какие этапы разработки игры?

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

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

Запекание лайтмапов — единственный способ получить физически корректное HDR-освещение без просадок FPS на мобильных платформах и в VR. Но процесс не сводится к нажатию кнопки Bake: требуется контроль UV-развёртки, настройка Progressive Lightmapper, качественный деноизинг через Optix или OpenImageDenoise. Ошибки на любом этапе приводят к артефактам — тёмным полосам на стыках, размытым теням, перерасходу памяти на 30–50%.

Мы запекаем лайтмапы для проектов более 5 лет. За это время прошли десятки коммерческих игр: от мобильных стратегий до PC-экшенов. Наш подход — детальный аудит геометрии, ручная правка UV1 в Blender, подбор компрессии под целевую платформу (ASTC для iOS, ETC2 для Android). Гарантируем качество — лайтмапы, которые не стыдно показать в финальном билде.

В этой статье разберём технические детали: почему UV1 — главный источник проблем, как правильно настроить Progressive Lightmapper (прямые семплы, непрямые, максимальные отскоки), какие форматы сжатия выбрать для разных платформ. А также поделимся реальным кейсом из практики — мобильная стратегия с ограничением 4 MB на сцену.

Почему UV1-развёртка — главная причина проблем?

Progressive Lightmapper запекает освещение в UV Channel 1. Если этот канал настроен неверно, никакие параметры не спасут. Три жёстких требования: острова не перекрываются, отступ от края атласа минимум 2 пикселя, пропорциональный размер островов.

Автоматическая генерация UV (Model → Generate Lightmap UVs) часто создаёт слишком мелкие острова на архитектурных объектах — на стыках появляются тёмные полосы из-за padding artifacts. Для таких объектов мы делаем UV1 вручную в Blender или Maya. Проверяем через Lightmap UV Preview в Scene View. Опыт показывает: ручная развёртка сокращает процент брака с 40% до 5%.

Как настроить Progressive Lightmapper для качественного результата?

Ключевые параметры: Lightmap Resolution — 10–20 для ближних, 2–5 для дальних (через Lightmap Parameters Assets). Direct Samples 64, Indirect Samples 512 — база для продакшна. Max Bounces — 2 для большинства сцен, 4 для стеклянных интерьеров. Denoising — обязательно включать опцию Optix (NVIDIA) или OpenImageDenoise (Intel). GPU-версия Progressive Lightmapper ускоряет запекание в 5–15 раз по сравнению с CPU-версией.

Кейс: лайтмапы для мобильной стратегии — из нашей практики

Наш клиент — мобильная стратегия с изометрическим видом, 20+ сцен. Требование: лайтмапы ≤ 4 MB на сцену. При стандартных настройках — 6–8 MB. Решение: один атлас 2048×2048 вместо нескольких 1024×1024 (лучший bin-packing), отключение Contribute GI для невидимых поверхностей. Результат — 2 MB в ETC2 при сохранении качества ближнего плана. Экономия памяти — 40%.

Сравнение форматов сжатия лайтмапов

Формат Платформа Качество Размер Примечание
ETC2 Android Среднее 2–4 MB Рекомендован для большинства устройств
ASTC 6×6 iOS (Metal) Высокое 1,5–3 MB Лучшее соотношение качество/размер
BC6H Desktop Высокое 4–8 MB Только для HDR, требует поддержки

Что входит в работу по запеканию лайтмапов

  • Аудит текущих UV-развёрток и исправление проблемных объектов.
  • Настройка Lightmap Parameters Assets под классы объектов.
  • Тестовое запекание (Direct 8, Indirect 32) для верификации структуры.
  • Финальное запекание с продакшн-параметрами и деноизингом.
  • Оптимизация компрессии под целевую платформу.
  • Проверка в билде и корректировка.

Этапы работы над запеканием

  1. Аудит геометрии и UV-каналов.
  2. Настройка параметров запекания и Lightmap Parameters Assets.
  3. Тестовое запекание с низким качеством.
  4. Финальное запекание с деноизингом.
  5. Компрессия и тест на целевой платформе.
Масштаб проекта Сроки
1–3 небольших сцены (до 100 объектов) 2–4 дня
10–20 сцен среднего размера 1–3 недели
Большой уровень с открытым пространством 1–2 недели
Полный пайплайн с UV-правками и оптимизацией 3–6 недель

Для точной оценки проекта свяжитесь с нами — проанализируем текущее состояние и предложим оптимальное решение. Закажите аудит освещения, чтобы избежать типичных ошибок. Мы работаем со студиями из СНГ и Европы, выполнили более 30 проектов по запеканию.

Подробнее в официальной документации Unity: Progressive Lightmapper.

Какие проблемы решает настройка освещения?

Освещение в играх — это не только красиво, но и дорого. Типичная ситуация: художник запекает лайтмапы час, видит артефакт на стыке UV, правит развёртку и запекает ещё час. Такой цикл повторяется 3–5 раз за день. В масштабе проекта с десятком сцен теряются недели. Хуже того, неправильная стратегия освещения на старте (например, все источники в Realtime) на релизе выливается в 30–50% просадки FPS на мобильных устройствах и консолях.

Наша услуга по настройке освещения и рендеринга под ключ решает две главные боли: время запекания и производительность рантайм. Мы работаем с Unity и Unreal Engine — от аудита текущей системы до финальной оптимизации. За 5 лет мы реализовали более 30 проектов, включая инди и AA-тайтлы. Сертифицированные специалисты Unity (Unity Certified Developer) гарантируют результат.

Динамическое, статическое и смешанное освещение: как выбрать?

Прежде чем браться за инструменты, нужно определиться с моделью. В Unity три режима для каждого источника света — вот как они влияют на производительность:

Режим Тени Нагрузка GPU Нагрузка CPU Применение
Realtime Динамические Высокая Средняя Персонажи, движущиеся объекты
Baked Запечённые в текстуру Минимальная Нет Статичные декорации
Mixed Гибрид Средняя Низкая Ключевые источники с тенями

Ошибка, которую мы видим регулярно: студия выставляет всё освещение в Realtime и получает сцену с 12 источниками теней на экране. На мобильных платформах это гарантированный провал по производительности. Mixed Lighting с подрежимами Subtractive или Shadowmask — рабочий компромисс для большинства проектов. Статичные объекты получают запечённые тени, динамические — реалтаймовые от тех же источников.

Как оптимизировать запечённое освещение без потери качества?

Это та часть, где теряется больше всего времени. Вот как мы это делаем.

Выбор между Enlighten и Progressive Lightmapper

Unity поддерживает два бэкенда для запекания:

  • Enlighten — старый движок для реального времени, даёт менее точный GI. Формально устарел, но всё ещё используется на мобильных платформах.
  • Progressive Lightmapper (CPU/GPU) — современный path-tracing бэкенд. GPU-вариант на хорошей карте работает в 5–10 раз быстрее CPU.

По умолчанию мы используем Progressive Lightmapper (GPU) для PC и консолей. Ключевые параметры:

Lightmap Resolution:    10–20 texels/unit для большинства сцен
Max Bounces:            2–4 (не 8, как стоит по умолчанию)
Samples (Direct):       32–64
Samples (Indirect):     512–1024
Denoiser:               OIDN (Intel) или OptiX (NVIDIA)

Деноизер обязателен. Без него для чистого результата нужны тысячи сэмплов. С деноизером хватает 256–512, и итерация занимает минуты, а не часы. “Progressive Lightmapper — recommended for high-quality baked lighting in Unity” — Unity Documentation.

Типичные артефакты и их причины

  • Светлые швы между объектами (seams). Причина — разные UV-острова не согласованы на границах. Решение: выставить Stitch Seams или использовать Auto UV Charts с запасом отступа (Pack Margin).
  • Тёмные пятна у основания объектов. Пересечение коллайдера с полом. Решение: поднять объект на 0.01–0.05 unit или настроить Backface Tolerance.
  • Засвет на стыках лайтмап-атласов. UV-острова от разных объектов слишком близко в атласе. Решение: увеличить Pack Margin или вручную раскладывать крупные объекты в отдельные атласы через Lightmap Parameters.

Организация сцены для быстрого запекания

Большой масштаб сцены — главный враг скорости. Вот пошаговый процесс, который мы применяем:

  1. Исключаем мелкие объекты (меньше 0.5 unit) — они получают освещение через Light Probes.
  2. Используем Instanced Meshes для повторяющихся объектов — деревья, камни, заборы шарят один UV-атлас.
  3. Terrain запекаем отдельно с пониженным разрешением (2–5 texels/unit) — на земле детализация всё равно не читается.
  4. Проверяем Backface Tolerance на сложной геометрии — это предотвращает тёмные пятна.

Соблюдение этих правил сокращает время запекания на 50–70% без потери качества. Wikipedia: Lightmap

Light Probes и Reflection Probes: зачем и как настраивать?

Light Probes — система, дающая динамическим объектам иллюзию запечённого освещения. Пробы нужно расставлять каждые 2–4 метра в зонах с перепадом освещения. Слишком редкая расстановка даёт резкие скачки при перемещении персонажа.

Probe Volumes (в современных версиях Unity с HDRP) заменяют ручную расстановку на объёмную сетку. Для больших открытых сцен это существенная экономия времени.

Reflection Probes — корректные отражения на PBR-материалах. Без них металл и зеркала отражают скайбокс вместо окружения. Настройка:

  • Baked для статичных помещений
  • Realtime для зон с изменяемым окружением (телевизор, экраны)
  • Box Projection для корректного отражения геометрии комнаты

Wikipedia: Screen Space Ambient Occlusion

Пост-обработка: SSAO и SSR

SSAO (Screen Space Ambient Occlusion) добавляет затемнение в щелях и углах. Типичная ошибка — слишком высокий Radius и Intensity. Рабочие значения: Radius 0.5–1.5, Intensity 1.0–2.0.

SSR (Screen Space Reflections) даёт динамические отражения на горизонтальных поверхностях. Техника работает только с видимым на экране — это и ограничение, и плюс по производительности.

Что входит в работу по настройке освещения

В рамках услуги «настройка освещения и рендеринга» мы предоставляем:

  1. Аудит текущей системы — профилирование через Frame Debugger и RenderDoc, выявление узких мест.
  2. Стратегия освещения — документация с выбором режимов (Mixed/Baked/Realtime) под вашу платформу.
  3. Оптимизация запекания — настройка Progressive Lightmapper, UV-развёртки, Light Probes.
  4. Настройка Reflection Probes и пост-обработки (SSAO, SSR, Bloom) под стилистику.
  5. Финальный отчёт с результатами замеров производительности (FPS budget, draw calls).
  6. Онлайн-консультация — разбор вашей сцены в прямом эфире.
Пример экономии: проект на Unity с открытым миром Исходное время запекания одной сцены — 4 часа. После оптимизации снижено до 1 часа 20 минут. Экономия времени за месяц разработки — 40+ часов, что эквивалентно ~70 000 ₽.

Процесс работы и сроки

Мы работаем по чёткому регламенту:

  • Аналитика (1–2 дня) — разбор вашей сцены, скриншоты, профилирование.
  • Проектирование (1 день) — выбор стратегии, план оптимизации.
  • Реализация (3–7 дней в зависимости от сложности) — правки UV, настройка Lightmapper, Light Probes, пост-обработка.
  • Тестирование (1–2 дня) — замеры производительности, устранение артефактов.
  • Деплой — передача файлов сцены, документация, чек-лист.

Сроки ориентировочно: от 5 до 15 рабочих дней. Стоимость рассчитывается индивидуально — напишите нам для оценки вашего проекта.

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