Запекание карт освещения (Lightmaps) для графики

Запекание карт освещения (Lightmaps) для графики Lightmap-запекание — это технология, которую принято считать «устаревшей» на фоне Lumen и real-time GI. На практике она остаётся основным способом получить качественное, производительное освещение на мобильных платформах и бюджетных PC. Даже в Unre

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

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

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

Запекание карт освещения (Lightmaps) для графики

Lightmap-запекание — это технология, которую принято считать «устаревшей» на фоне Lumen и real-time GI. На практике она остаётся основным способом получить качественное, производительное освещение на мобильных платформах и бюджетных PC. Даже в Unreal Engine 5-проектах многие студии используют baked lighting для статичных интерьеров, потому что Lumen при всех преимуществах не даёт той же чёткости теней и той же производительности на слабом железе.

Мы, как команда геймдев-инженеров с 10-летним опытом, гарантируем, что качество запечённого освещения — это всегда результат тонкой настройки десятка параметров. Большинство проблем с «плохими» lightmaps — следствие неправильно выставленных именно этих параметров. Закажите аудит вашего проекта — мы выявим узкие места и предложим решение.

Почему UV2 и texel density — главная причина артефактов?

Lightmap в Unity или Unreal запекается в отдельный UV-канал — UV2 (или Lightmap UV в Unreal). Это не та развёртка, что используется для albedo. Lightmap UV имеет жёсткие требования:

  • Никаких перекрытий (overlapping): каждый треугольник меша — на своём уникальном месте в UV2
  • Минимальный отступ между островами (padding): не менее 2 texels при целевом разрешении lightmap. Если lightmap 512px и padding 2px — это ~0.4% от текстуры на каждый шов. При 2048px — 0.1%. Недостаточный padding = bleeding светлых зон в тёмные через смежные острова UV
  • Все острова должны быть развёрнуты без зеркальных отражений (no mirrored UVs): зеркалирование даёт корректный albedo, но в lightmap вызывает двойное освещение на симметричных частях

Unity автоматически генерирует Lightmap UV при импорте (Generate Lightmap UVs в Import Settings). Для простой геометрии это работает. Для сложных мешей с острыми углами или тонкими деталями — автогенерация создаёт некорректные острова, которые при запекании дают видимые seams на lightmap. В таких случаях UV2 делается вручную в DCC-инструменте (Blender, Maya, 3ds Max) и импортируется уже готовым.

Texel density в Lightmap UV — это сколько пикселей lightmap приходится на единицу площади поверхности. Для больших плоских поверхностей (пол, стены) — нужен больший участок в UV2. Для мелких деталей (плинтус, дверная ручка) — меньший. Unity и Unreal позволяют контролировать это через Scale in Lightmap (Unity) и Lightmap Resolution Scale (Unreal) на каждом объекте отдельно. Одинаковый Scale для всех объектов сцены — типичная ошибка: мелкие объекты получают избыточное разрешение, крупные — недостаточное.

Как правильно настроить Progressive Lightmapper?

В Unity главный инструмент для запекания — Progressive Lightmapper (с версии 2018.3 LTS, GPU-ускоренная версия появилась позже). Согласно документации Unity, основные параметры, влияющие на результат:

Indirect Bounces. Количество переотражений света. При Bounces=0 — только прямое освещение, без GI. При Bounces=2 — свет отражается от поверхностей дважды, заполняя тени мягким ambient. Для тёмных помещений Bounces=2–3 — минимум для достоверного вида. Для ярких outdoor часто достаточно 1–2.

Indirect Intensity и Albedo Boost. Indirect Intensity масштабирует яркость GI глобально. Albedo Boost усиливает влияние цвета поверхностей на переотражённый свет — при значении 1.0 поверхность с ярко-красным albedo создаёт красноватый ambient на соседних поверхностях (colour bleeding). При Albedo Boost > 1 эффект усиливается, при < 1 — цвета поверхностей меньше влияют на GI. Для реалистичного рендера Albedo Boost = 1, для менее «грязного» ambient — 0.5–0.8.

Prioritize View и Progressive Updates. При запекании Progressive Lightmapper начинает с пикселей, видимых в Scene View — это удобно для итеративной работы, но при финальном запекании лучше отключить для равномерного качества по всей сцене.

Типичная проблема на крупных сценах — light leaking: свет проникает сквозь тонкие стены. Причина — shadow rays в path-tracer проходят через геометрию тоньше определённого порога. Решение: сделать стены и полы не менее 0.2–0.3 unit толщиной (зависит от масштаба сцены) и убедиться, что нет дыр в геометрии. Альтернатива — Shadow Bias в настройках источника света, но он решает проблему только частично.

Unreal Engine: Lightmass и его специфика

В Unreal для запекания используется Lightmass — Global Illumination система со своими параметрами в World Settings → Lightmass. Для production-качества в документации Unreal рекомендуют следующие значения:

  • Static Lighting Level Scale. Глобальный масштаб для качества запекания — чем меньше значение, тем выше детализация lightmaps, но дольше запекание. По умолчанию 1.0 — для production-качества снижают до 0.5–0.75.
  • Num Indirect Lighting Bounces. Аналог Bounces в Unity. Для тёмных интерьеров — 4–6, для outdoor — 3–4.
  • Indirect Lighting Quality. Множитель количества семплов для indirect lighting. Default = 1.0, для чистого production — 2.0–4.0. При высоком значении резко возрастает время запекания.
Параметр Unity (Progressive Lightmapper) Unreal (Lightmass)
Количество отражений Indirect Bounces Num Indirect Lighting Bounces
Качество GI сэмплов Indirect Samples Indirect Lighting Quality
Масштаб детализации Scale in Lightmap (per-object) Static Lighting Level Scale (global)
Дополнительное GI для динамики Light Probes Volumetric Lightmap
Распределённое запекание Нет (одна машина) Swarm (до 10 машин)

В Unreal Lightmass запекание происходит через Swarm — распределённую систему, которая может использовать несколько компьютеров в сети одновременно. Для больших уровней с большим разрешением lightmaps (4096+) без Swarm запекание может занимать 8–24 часа; с несколькими машинами в Swarm — в 4–8 раз быстрее.

Volumetric Lightmap в Unreal — аналог Light Probes в Unity. Автоматически строится при запекании и обеспечивает ambient для динамических объектов. Параметр Volumetric Lightmap Detail Cell Size в World Settings контролирует плотность решётки. Меньше значение — точнее ambient для динамических объектов, больше объём данных.

Распространённые проблемы при запекании и их решения

Почему возникают артефакты? Разбор типичных случаев

Seams на lightmap. Видимые границы между UV-островами на освещённой поверхности. Причина: недостаточный padding в UV2. Решение — увеличить padding или пересмотреть разбивку UV-островов.

Тёмные пятна в углах. Не всегда artistically correct AO — иногда это недостаточное количество Indirect Samples. Проверить: увеличить Indirect Samples вдвое и посмотреть, изменились ли тёмные зоны. Если шум уменьшился — samples были занижены.

Жёлтый или красный tint на серых поверхностях. Colour bleeding от соседних окрашенных поверхностей с высоким Albedo Boost. Снизить Albedo Boost или проверить, нет ли соседних ярко окрашенных объектов без Cast Shadows = Off.

Lightmap слишком размыт. Слишком низкий Scale in Lightmap для данного объекта — не хватает texels. Увеличить Scale или пересмотреть приоритеты распределения texel density по сцене.

Как мы запекаем lightmap: пошаговый процесс

  1. Аудит — проверка UV2-развёрток, Import Settings, текущих настроек запекания. Выявляем узкие места и артефакты.
  2. Проектирование — распределение texel density по объектам сцены, настройка Scale in Lightmap для каждого элемента.
  3. Настройка параметров — Indirect Bounces, Intensity, Albedo Boost, качество сэмплов. Зависит от сцены и целевой платформы.
  4. Итеративное запекание — прогрессивное увеличение качества с контролем результата. При необходимости корректируем параметры.
  5. Финальная проверка — визуальный осмотр на артефакты, замеры производительности (FPS budget), исправление оставшихся проблем.
  6. Сдача — готовые lightmaps, документация по настройкам, рекомендации по дальнейшей оптимизации.

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

  • Полный аудит UV2-канала и Import Settings
  • Настройка Progressive Lightmapper или Lightmass под ваш проект
  • Итеративное запекание с контролем качества
  • Устранение артефактов (seams, light leaking, colour bleeding)
  • Документация по всем параметрам и финальным настройкам
  • Поддержка в течение 2 недель после сдачи проекта

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

Масштаб задачи Ориентировочный срок
Запекание одного небольшого помещения (до 20 объектов) 1–2 дня
Interior-уровень среднего размера 3–6 дней
Outdoor-уровень с лесом, terrain и prop-ами 5–12 дней
Исправление артефактов в готовом проекте 2–4 дня
Настройка UV2 + запекание с нуля (весь уровень) 2–6 недель

Сначала аудит UV2-развёрток и настроек Import Settings, потом проектирование распределения texel density, итеративное запекание с увеличением качества, финальная проверка артефактов и сдача.

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