Настройка динамического и статического освещения в играх

Сборка lightmap для сцены с 200+ объектами занимает 12 часов, а результат всё равно шумный. Знакомо? Каждый второй проект сталкивается с этой проблемой, когда приходится переделывать освещение в середине производства. Мы решаем такие задачи ежедневно: наш опыт — 5+ лет и 50+ проектов в геймдеве.

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

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

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
    1526
  • image_games_a_turnbased_strategy_game_set_in_a_fantasy_setting_with_fire_and_sword_603_0.webp
    Пошаговая стратегия в фэнтези сеттинге With Fire And Sword
    1030
  • image_games_second_team_604_0.webp
    Разработка игры для компании Second term
    657
  • image_games_phoenix_ii_606_0.webp
    3D-анимация — тизер для игры phoenix 2.
    738
  • image_training-quizzes_kids_shopping_quiz_614_0.webp
    Обучающая викторина для детей «Покупки в магазине»
    142

Сборка 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 и проверка на целевом железе. Свяжитесь с нами для консультации — оценим ваш проект и предложим оптимальное решение под ключ. Закажите аудит освещения, чтобы избежать переделок на поздних этапах.