Сборка lightmap для сцены с 200+ объектами занимает 12 часов, а результат всё равно шумный. Знакомо? Каждый второй проект сталкивается с этой проблемой, когда приходится переделывать освещение в середине производства. Мы решаем такие задачи ежедневно: наш опыт — 5+ лет и 50+ проектов в геймдеве.
Выбор между динамическим и статическим освещением — одно из первых технических решений, которое принимается при проектировании уровня. Это решение определяет бюджет производительности, качество теней, возможности геймплея и объём работы по световому пайплайну. Откатить его в середине производства дорого. На практике в большинстве проектов используется гибридная схема, и именно правильная настройка этой гибридной схемы — основная техническая задача.
Как выбрать между статическим и динамическим освещением?
Статическое освещение даёт лучшее качество теней и ambient, но не реагирует на изменения в сцене. Динамическое — реагирует на всё, но стоит дороже по GPU. Гибридная схема сочетает оба подхода в 3-4 раза эффективнее по сравнению с чисто динамическим освещением. Мы помогаем подобрать оптимальный баланс под вашу платформу и жанр.
Static lighting: Progressive Lightmapper и его параметры
В Unity статическое освещение запекается через Progressive Lightmapper (GPU или CPU). Это path-tracing решение, которое рассчитывает indirect lighting, soft shadows и ambient occlusion для статичных объектов, сохраняя результат в Lightmap Textures.
Ключевые параметры, которые напрямую влияют на результат:
Lightmap Resolution. Измеряется в texels per unit. Для внешних поверхностей стандарт — 4–8 texels/unit, для hero-поверхностей (полы, стены в важных локациях) — 16–32. Выше — дольше запекание и больше VRAM для хранения lightmap. Ниже — видимая пикселизация теней. Типичная ошибка: ставить одинаковое значение для всей сцены, вместо того чтобы контролировать через Scale in Lightmap на каждом объекте.
Samples (Direct/Indirect/Environment). Direct Samples — количество семплов для прямых источников. 512–1024 для production, меньше только для быстрых preview-запеканий. Indirect Samples — глубина расчёта переотражений, 512–2048 в зависимости от сложности сцены. Environment Samples — влияет на качество ambient от skybox. Занижение Indirect Samples — главная причина шума на потолках и в углах.
Denoising. Встроенный деноизер Unity (OptiX для Nvidia, OIDN для CPU) убирает шум от path-tracing. Важно понимать: деноизинг сглаживает, а не улучшает качество. При слишком малом количестве семплов деноизер размывает тени до потери деталей. Правило: семплов должно быть достаточно, чтобы шум был мелким — тогда деноизер его аккуратно убирает.
Lightmap Compression. Unity по умолчанию сжимает lightmaps в BC6H (HDR). Если сцена требует точных цветовых данных в освещении — например, coloured light leaking через окна — BC6H правильный выбор. Для simple outdoor без цветных источников можно снизить до BC4 для экономии VRAM.
Dynamic lighting: Shadow Cascades и производительность
Динамические тени — это shadow map rendering: сцена рендерится с точки зрения света в depth texture, которая потом используется при основном рендере для определения затенённых зон.
Shadow Cascades — критический параметр для Directional Light (солнце, луна). Один shadow map на всю сцену означает компромисс: либо мелкие, но охватывающие, либо детальные, но только для ближней зоны. Cascaded Shadow Maps делят дистанцию на 2–4 зоны с разным разрешением shadow map: ближняя зона — высокое разрешение, дальняя — низкое.
Правильная настройка Cascade Distances — баланс между качеством и производительностью. Если First Cascade слишком большой — тени ближних объектов размыты (pixelated shadowmap). Если слишком маленький — видна резкая граница перехода между каскадами. Граница перехода сглаживается через Shadow Cascade Blend в Unity или Dynamic Shadow Distance Fadeout в Unreal.
В Unreal Engine 5 с Lumen динамическое global illumination вычисляется в Screen Space + Signed Distance Fields, что кардинально меняет подход к освещению. Shadow Cascades для Directional Light остаются (Virtual Shadow Maps в UE5 — значительное улучшение качества при контролируемом бюджете), но indirect lighting от Lumen не требует Light Probes и Lightmaps — это real-time GI.
Почему гибридная схема — стандарт индустрии?
Практическая схема для большинства проектов:
- Directional Light (солнце) — Mixed mode: статические тени в lightmap, динамические тени для персонажей через Cascades
- Крупные Point Lights (фонари, костры) — Baked, если статичные. Динамические только если горят/гаснут по геймплею
- Мелкие accent lights (свечи, экраны) — Baked, часто как Emissive в lightmap
- Light Probes — расставить вручную по зонам, не полагаться на Auto Generate
Light Probes и смешанное освещение
Light Probes в Unity — сферические гармоники (Spherical Harmonics, L2), хранящие ambient lighting для конкретной точки пространства. Динамические объекты (персонажи, частицы, транспорт) не могут использовать lightmaps — они берут освещение из Light Probes.
Ошибка, которая встречается почти на каждом проекте: Light Probes расставлены слишком редко или только по периметру уровня, а не по зонам с разным освещением. Персонаж, входящий из освещённой улицы в тёмное здание, получает одинаковый ambient в обоих местах — освещение не меняется. Решение: плотная сетка Probes в переходных зонах (дверные проёмы, арки, под навесами), разреженная — в однородно освещённых областях.
Light Probe Proxy Volume (LPPV) — для крупных динамических объектов (транспорт, большие существа): вместо одного Probe в центре объекта, LPPV строит объёмную решётку Probes по габаритам объекта. Разница заметна: без LPPV большой грузовик освещён равномерно как сплошной объект, с LPPV — правая сторона темнее, если она в тени здания.
Enlighten — система real-time GI в Unity (доступна в HDRP). Рассчитывает переотражения от динамически меняющегося Directional Light — day/night cycle с Enlighten означает, что ambient меняется вместе с положением солнца без перезапекания lightmaps. Стоит CPU времени при каждом изменении источника, поэтому используется избирательно: только для Directional Light, остальные источники — статические или baked.
Что входит в работу настройки освещения
Мы предлагаем комплексный подход: аудит текущего освещения с профилированием, проектирование гибридной схемы, настройка всех параметров (Lightmap Resolution, Shadow Cascades, Light Probes), запекание lightmap с оптимизацией, проверка на целевом железе, документация настроек. В результате — стабильный FPS без компромиссов по качеству.
| Параметр | Статическое | Динамическое | Гибридное |
|---|---|---|---|
| Качество теней | Высокое (baked) | Среднее (зависит от разрешения) | Высокое на static, среднее на dynamic |
| Нагрузка на GPU | Низкая | Высокая | Средняя |
| Поддержка day/night | Нет (только rebake) | Да | Да (mixed) |
| Сложность настройки | Средняя | Средняя | Высокая |
| Масштаб задачи | Ориентировочный срок |
|---|---|
| Настройка освещения одной небольшой локации | 2–4 дня |
| Interior с full GI и baked lightmaps | 4–8 дней |
| Open-world уровень с day/night cycle | 2–4 недели |
| Оптимизация и исправление существующего освещения | по согласованию |
Начинаем с технического аудита: платформа, целевой framerate, pipeline (URP/HDRP/Lumen). Дальше — проектирование схемы освещения, расстановка источников, настройка shadow cascades, запекание lightmaps и проверка на целевом железе. Свяжитесь с нами для консультации — оценим ваш проект и предложим оптимальное решение под ключ. Закажите аудит освещения, чтобы избежать переделок на поздних этапах.






