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

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

Від імерсивних застосунків до ігрових світів і 3D-сцен

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

Відвідати персоналізований сайт
Показано 1 з 1Усі 242 послуг
Налаштування динамічного та статичного освітлення в іграх
Середній
від 2 днів до 2 тижнів
Часті запитання

Наші компетенції

Які етапи розробки гри?

Останні роботи

  • 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

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

Які проблеми вирішує налаштування освітлення?

Художник запікає лайтмапи годину, знаходить артефакт на стику UV, виправляє розгортку і запікає ще годину. Цикл повторюється 3–5 разів на день. У масштабі проекту з десятком сцен втрачаються тижні. Неправильна стратегія на старті (усі джерела в Realtime) на релізі дає 30–50% просадки FPS на мобільних пристроях і консолях. Послуги з налаштування освітлення та рендерингу під ключ вирішують дві головні болі: час запікання і продуктивність рантайм. За 5 років ми реалізували понад 30 проектів — від інді до AA-тайтлів. Свяжіться з нами для отримання консультації: розберемо вашу сцену та запропонуємо рішення.

Динамічне, статичне та змішане освітлення: як обрати?

В Unity три режими для джерела світла — ось як вони впливають на продуктивність:

Режим Тіні Навантаження GPU Навантаження CPU Застосування
Realtime Динамічні Висока Середня Персонажі, рухомі об'єкти
Baked Запечені в текстуру Мінімальна Нет Статичні декорації
Mixed Гібрид Середня Низька Ключові джерела з тінями

Помилка: студія виставляє все освітлення в Realtime і отримує сцену з 12 джерелами тіней на екрані. На мобільних платформах це гарантований провал. Mixed Lighting з підрежимами Subtractive або Shadowmask — робочий компроміс. Статичні об'єкти отримують запечені тіні, динамічні — реалтаймові від тих самих джерел.

Як оптимізувати запечене освітлення без втрати якості?

Саме тут втрачається найбільше часу. Ось як ми це робимо.

Вибір між Enlighten та Progressive Lightmapper

Unity підтримує два бекенди. Enlighten — старий двигун для реального часу, дає менш точний GI (в 2–3 рази поступається Progressive за якістю). Progressive Lightmapper (GPU) на хорошій карті працює в 5–10 разів швидше за CPU. За замовчуванням ми використовуємо Progressive Lightmapper для 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, і ітерація займає хвилини, а не години.

Чому виникають артефакти на лайтмапах та як їх прибрати?

Часті артефакти та рішення зведено в таблицю:

Артефакт Причина Рішення
Світлі шви між об'єктами Різні 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 на складній геометрії.
Чек-лист підготовки сцени до запікання
  • [ ] Виключені дрібні об'єкти (<0.5 unit)
  • [ ] Використані Instanced Meshes
  • [ ] Terrain запікати окремо
  • [ ] Перевірено Backface Tolerance

Дотримання цих правил скорочує час запікання на 50–70% без втрати якості. Wikipedia описує техніку запеченого освітлення як Lightmap.

Light Probes та Reflection Probes: навіщо та як налаштовувати?

Light Probes дають динамічним об'єктам ілюзію запеченого освітлення. Проби потрібно розставляти кожні 2–4 метри в зонах з перепадом освітлення. Занадто рідкісна розстановка дає різкі стрибки при переміщенні персонажа. Probe Volumes (HDRP) замінюють ручну розстановку на об'ємну сітку — для великих відкритих сцен це суттєва економія часу.

Reflection Probes — коректні відбиття на PBR-матеріалах. Без них метал і дзеркала відбивають скайбокс замість оточення. Налаштування: Baked для статичних приміщень, Realtime для зон зі змінним оточенням (телевізор, екрани), Box Projection для коректного відбиття геометрії.

Пост-обробка: SSAO та SSR

SSAO додає затемнення в щілинах і кутах. Типова помилка — занадто високі Radius та Intensity. Робочі значення: Radius 0.5–1.5, Intensity 1.0–2.0. SSR дає динамічні відбиття на горизонтальних поверхнях, працює лише з видимим на екрані.

Що входить до роботи з налаштування освітлення

В рамках послуги динамічного освітлення та рендерингу ми надаємо:

  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 годин розробки.

Процес роботи та терміни

Працюємо за чітким регламентом:

  • Аналітика (1–2 дні) — розбір сцени, скріншоти, профілювання.
  • Проектування (1 день) — вибір стратегії, план оптимізації.
  • Реалізація (3–7 днів залежно від складності) — правки UV, налаштування Lightmapper, Light Probes, пост-обробка.
  • Тестування (1–2 дні) — вимірювання продуктивності, усунення артефактів.
  • Деплой — передача файлів сцени, документація, чек-лист.

Терміни орієнтовно: від 5 до 15 робочих днів. Вартість розраховується індивідуально — зв'яжіться з нами для оцінки вашого проекту. Замовте послугу налаштування динамічного освітлення — отримайте стабільний FPS без артефактів. Отримайте безкоштовну консультацію з налаштування освітлення під ключ: від аналізу до фінальної оптимізації.