Настройка освещения игровых сцен для графики

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

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

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

Посетить персонализированный сайт
Показано 1 из 1Все 242 услуг
Настройка освещения игровых сцен для графики
Средний
~3 дня
Часто задаваемые вопросы

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

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

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

  • 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

Настройка освещения игровых сцен для графики

Мы — сертифицированные специалисты Unity и Unreal Engine. Настраиваем освещение игровых сцен под ключ: работаем с URP/HDRP, обеспечиваем консистентность от редактора до целевых платформ. За 5 лет реализовали световые схемы для более чем 20 проектов — от мобильных казуалок до PC-хорроров. Гарантируем результат, который пройдет Frame Debugger и RenderDoc без сюрпризов.

Почему освещение ломается на мобильных платформах?

В URP-проектах стандартная ошибка — смешение Forward и Deferred Rendering Path без учёта того, что Deferred не поддерживает MSAA и работает иначе с Normal Maps на некоторых платформах. Часть источников света начинает вести себя неожиданно, особенно Point Light с малым Intensity но большим Range — в Forward он попадает в per-object light limit (по умолчанию 8 additional lights), а на мобильных платформах этот лимит жёстче.

Второй классический провал: освещение выглядит нормально в сцене, но после запекания Lightmap все тени смещаются. Это следствие неправильного Shadow Bias на Source Light — когда Directional Light имеет Normal Bias выше 0.4, статические тени от запекания не совпадают с динамическими тенями в Mixed режиме. Результат — «двойная тень» на стыке запечённого и реалтаймового.

Как правильно настроить Color Temperature?

Инженеры часто задают цвет источника напрямую через Color picker. Правильнее — через Color Temperature (Kelvin). 2700K даёт тёплый вечерний свет лампы накаливания, 5600K — нейтральный дневной, 8000K — холодный синий оттенок пасмурного неба. При изменении времени суток через Timeline или Shader достаточно анимировать значение Kelvin, и вся сцена меняет тональность органично, без ручной правки каждого источника.

В URP Color Temperature включается через Additional Light Data → Use Color Temperature. В HDRP это стандартный параметр HD Additional Light Data.

Архитектура света сцены: от крупного к мелкому

Начинать надо с ключевого источника — Sun/Moon для наружных сцен, основной потолочный свет или окно для интерьеров. Directional Light с правильно выставленными Color Temperature и Intensity задаёт тональность всей сцены. В HDRP это удобнее делать через Physically Based Sky + HDRI Sky для получения корректного ambient.

Дальше — контровой свет (rim/back light) для читаемости персонажей на фоне окружения. Отдельный Source Light с небольшим Intensity, направленный против основного — персонаж не сливается с фоном даже в тёмных зонах. В большинстве проектов этот свет делают невидимым для окружения через Light Layers (HDRP) или Culling Mask.

Акцентное освещение — Point Lights и Spot Lights для создания интереса в кадре, подсветки интерактивных объектов, атмосферных эффектов. Здесь важно контролировать количество: каждый дополнительный источник в Forward Rendering добавляет pass для каждого освещаемого объекта. На мобильных устройствах 4 дополнительных источника — уже много.

Сравнение Forward и Deferred для освещения

Параметр Forward Rendering Deferred Rendering
Количество источников на объект до 8 (дополнительных) неограничено
MSAA поддерживается не поддерживается
Прозрачные объекты корректно требуется отдельный проход
Производительность на мобильных ниже при множестве источников выше при многих источниках

Из нашей практики: horror-игра, слишком яркие тёмные зоны

На одном проекте жанра horror клиент жаловался, что темные коридоры выглядят «мыльно» — тени мягкие, нет контраста. Проблема оказалась в Ambient Light: он был выставлен через Environment Lighting → Source: Color с Intensity 0.8 — фактически Fill Light на всю сцену. После перехода на Source: Gradient с Sky Intensity 0.05, Ground Intensity 0.02 и убранным Equator тёмные зоны стали по-настоящему тёмными, а Light Probes начали корректно передавать разницу между освещёнными и неосвещёнными зонами персонажу.

Освещение и LOD: проблема, которую замечают поздно

При использовании LOD Groups есть нюанс, который регулярно всплывает в середине проекта: источники света с Culling Mask и Light Layers ведут себя по-разному на разных LOD-уровнях только если Renderer'ы на этих уровнях имеют разные Layer настройки. Но чаще проблема в другом — на LOD2 и LOD3 нередко стоят упрощённые Mesh без Normal Map, а шейдер тот же, что и на LOD0. В результате при переключении LOD освещение резко меняется: нормальная модель красиво бликует, а упрощённая лоповка выглядит плоской.

Правильный подход: для LOD2+ использовать упрощённые шейдеры (Lit → Simple Lit или Custom Unlit с запечённым AO), а не полный PBR стек. Это не только визуально корректнее, но и снижает нагрузку на GPU при рендере дальних объектов.

Ещё один момент с Emissive материалами в Baked GI: объект с Emissive может «запечь» своё свечение в окружающие лайтмапы, но только если у него включён Contribute GI и параметр Emission в шейдере проброшен в Lightmap Emissive. В URP/Lit это Emission → Baked Emission. Если этот флаг не включён, объект светится сам по себе, но ничего не освещает в запечённом лайтмапе — распространённая причина того, почему «светящийся» экран или окно не даёт света на пол вокруг.

Инструменты для диагностики освещения

Frame Debugger (Window → Analysis → Frame Debugger) позволяет пройтись по каждому draw call и посмотреть, какой Pass отвечает за конкретный объект. Незаменим, когда нужно понять, почему объект освещается не так, как ожидается.

Rendering Debugger в режиме Lighting → Albedo / Specular / Normal / Direct Diffuse разбирает освещение на компоненты. Если Normal карта не влияет на освещение так, как должна — это сразу видно в режиме просмотра Normal.

GPU Usage Profiler показывает, сколько GPU-времени уходит на Shadow Caster Pass для каждого источника. Если один Spot Light с включённым Shadow Casting съедает 3 мс — это повод либо снизить Shadow Resolution для этого источника, либо перевести его в non-shadow режим и имитировать тень через Blob Shadow текстуру.

Для HDRP-проектов есть отдельный инструмент — Light Explorer (Window → Rendering → Light Explorer). Показывает все источники света в сцене в виде таблицы с режимами, интенсивностью и типом теней. Удобно для аудита сцен, где источников больше 20: не нужно кликать по каждому в Hierarchy.

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

  • Аудит текущего освещения и рендер-пайплайна
  • Настройка Key, Fill, Back Light с учётом художественного брифа
  • Оптимизация под целевые платформы (включая mobile, console)
  • Запекание Lightmap и Light Probes
  • Документация по световой схеме и рекомендации для команды
  • Поддержка в течение двух недель после сдачи

Процесс и сроки

Работа начинается с художественного брифа: референсы, время суток, атмосфера, целевая платформа. Дальше — технический аудит сцены (количество источников, текущие Render Path, версия движка). Затем настройка базового освещения с итерационным согласованием. Финальный этап — оптимизация и проверка на целевых устройствах.

Тип сцены Сроки
Один небольшой интерьер (до 100 кв.м, URP) 1–3 дня
Средний уровень с несколькими зонами 3–7 дней
Открытая сцена с динамическим циклом суток 1–3 недели
Комплекс сцен с единым световым стилем 3–5 недель

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

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

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

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