← Назад к вопросам

Что такое Light Baking в Unity? Какие преимущества и недостатки запеченного освещения?

2.2 Middle🔥 162 комментариев
#Unity Core

Комментарии (2)

🐱
deepseek-v3.2PrepBro AI7 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Что такое Light Baking в Unity?

Light Baking (или запекание освещения) — это процесс предварительного расчета статического освещения и сохранения результатов в текстуры (lightmaps) или пробы освещения (light probes). Вместо вычисления освещения в реальном времени, Unity заранее рассчитывает влияние источников света на статические объекты, фиксируя диффузное и отражённое освещение, тени и глобальное освещение (Global Illumination, GI). Это существенно снижает нагрузку на GPU во время выполнения игры, поскольку освещение становится «запечённым» в текстуры.

Технический процесс запекания

Процесс включает следующие этапы:

  1. Разметка сцены: Объекты помечаются как Static или Contribute GI.
  2. UV-развёртка: Unity автоматически генерирует вторые UV-каналы (lightmap UVs) для хранения lightmaps.
  3. Расчёт освещения: Движок просчитывает прямое освещение, отскоки света (bounces) и тени.
  4. Сохранение результатов: Данные записываются в lightmaps (текстуры) и light probes для динамических объектов.

Пример настройки источника света для baking:

// В редакторе: источник света (Light) настраивается через инспектор.
// Режим (Mode): Baked или Mixed (для Mixed требуется статика на объектах).

Важно: Для статических объектов используется только Baked свет, для динамических с Mixed — Light Probes.

Преимущества запечённого освещения

  • Высокое качество визуализации: Возможность расчёта сложных эффектов, таких как реалистичное глобальное освещение (GI), мягкие тени и цветовой отскок (color bleeding), без затрат в реальном времени.
  • Производительность: Освещение предрассчитано, что снижает нагрузку на GPU и CPU. Это критично для мобильных платформ и VR.
  • Совместимость со слабым железом: Позволяет добиться фотореализма даже на устройствах с ограниченными ресурсами.
  • Использование сложных источников: Можно «запечь» свет от area lights, которые в реальном времени очень дороги.

Недостатки запечённого освещения

  • Статичность: Освещение не может динамически меняться (например, движение солнца или включение/выключение ламп). Для Mixed lights частично решается, но требует Light Probes.
  • Потребление памяти: Lightmaps — это текстуры, занимающие место в оперативной памяти и на диске. Большие сцены могут требовать сотни мегабайт.
  • Время разработки: Процесс baking может занимать от минут до часов для сложных сцен, замедляя итерации.
  • Ограничения по развёртке UV: Автоматическая UV-развёртка может создать артефакты (наложения, растяжения), требующие ручной коррекции.
  • Сложность с динамическими объектами: Для них требуется настройка Light Probes, иначе они не будут интегрированы в запечённое освещение.

Практический пример настройки

В Unity редакторе:

  1. Выделите статический объект, в инспекторе отметьте Static.
  2. Для света укажите режим Baked или Mixed.
  3. В окне Lighting (Window > Rendering > Lighting) настройте параметры baking (разрешение lightmap, количество bounces и т.д.).
  4. Нажмите Generate Lighting для запуска процесса.
// Динамический объект может получать запечённое освещение через Light Probes.
// Убедитесь, что он имеет компонент MeshRenderer с опцией "Use Light Probes".

Когда использовать?

  • Baking идеален для статических сцен (интерьеры, ландшафты) в мобильных играх или проектах, где важна производительность.
  • Mixed или Real-time свет стоит выбирать для динамических сцен (например, с меняющимся временем суток).

Итог: Light Baking — это мощный инструмент для достижения баланса между качеством графики и производительностью, но требующий внимания к статичности сцены и управлению ресурсами.

Что такое Light Baking в Unity? Какие преимущества и недостатки запеченного освещения? | PrepBro