Налаштування динамічного та статичного освітлення в іграх

Сборка 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 Engine.

В 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 без компромісів по якості.

Наприклад, на одному з проєктів (open-world survival) ми оптимізували запекання lightmap, скоротивши час з 12 до 3 годин завдяки вибірковій роздільній здатності та налаштуванню Indirect Samples, і досягли стабільних 60 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 та перевірка на цільовому залізі. Зв'яжіться з нами для консультації — оцінимо ваш проєкт і запропонуємо оптимальне рішення під ключ. Замовте аудит освітлення, щоб уникнути переробок на пізніх етапах.