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

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

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

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

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

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

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

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

  • image_games_mortal_motors_495_0.webp
    Розробка гри для компанії Mortal Motors
    683
  • image_games_a_turnbased_strategy_game_set_in_a_fantasy_setting_with_fire_and_sword_603_0.webp
    Покрокова стратегія у фентезі сеттингу With Fire And Sword
    862
  • image_games_second_team_604_0.webp
    Розробка ігри для компанії Second term
    491
  • image_games_phoenix_ii_606_0.webp
    3D-анімація – тизер для гри phoenix 2.
    533

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

Вибір між динамічним та статичним освітленням — одне з перших технічних рішень, яке приймається при проектуванні рівня. Це рішення визначає бюджет продуктивності, якість тіней, можливості геймплею та обсяг роботи за світловим пайплайном. Откотувати його в середині виробництва дорого.

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

Статичне освітлення: 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 правильний вибір. Для простого outdoor без кольорових джерел можна знизити до BC4 для економії VRAM.

Динамічне освітлення: Shadow Cascades та продуктивність

Динамічні тіні — це shadow map rendering: сцена рендериться з точки зору джерела світла в depth texture, яка потім використовується при основному рендері для визначення затенених зон.

Shadow Cascades — критичний параметр для Directional Light (сонце, місяць). Один shadow map на всю сцену означає компроміс: або мелкі, але охоплюючі, або детальні, але тільки для ближної зони. Cascaded Shadow Maps ділять дистанцію на 2–4 зони з різним розрішенням shadow map: ближня зона — високе розрішення, дальня — низькі.

Правильна настройка Cascade Distances — баланс між якістю та продуктивністю. Якщо First Cascade занадто великий — тіні ближніх об'єктів розмиті. Якщо занадто малий — видна різка межа переходу між каскадами. Межа переходу сглажується через 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.

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.

Гібридна схема: що запекати, що залишити динамічним

Практична схема для більшості проектів:

  • Directional Light (сонце) — Mixed mode: статичні тіні у lightmap, динамічні тіні для персонажів через Cascades
  • Крупні Point Lights (фонарі, костри) — Baked, якщо статичні. Динамічні тільки якщо горять/гаснуть за геймплеєм
  • Мелкі accent lights (свічі, екрани) — Baked, часто як Emissive у lightmap
  • Light Probes — розставити вручну по зонах, не покладатися на Auto Generate
Масштаб завдання Орієнтовний термін
Настройка освітлення однієї невеликої локації 2–4 дні
Interior з full GI та baked lightmaps 4–8 днів
Open-world рівень з day/night cycle 2–4 тижні
Оптимізація та виправлення існуючого освітлення за угодою

Почнемо з технічного аудиту: платформа, цільовий framerate, pipeline (URP/HDRP/Lumen). Далі — проектування схеми освітлення, розстановка джерел, настройка shadow cascades, запікання lightmaps та перевірка на цільовому залізі.

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