Запікання статичного світла (Lightmaps) у іграх: повний гайд

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

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

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

Відвідати персоналізований сайт
Показано 1 з 1Усі 242 послуг
Запікання статичного світла (Lightmaps) у іграх: повний гайд
Середній
~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

Запікання лайтмапів — єдиний спосіб отримати фізично коректне HDR-освітлення без просідань FPS на мобільних платформах і в VR. Але процес не зводиться до натискання кнопки Bake: потрібен контроль UV-розгортки, налаштування Progressive Lightmapper, якісний деноїзинг через Optix або OpenImageDenoise. Помилки на будь-якому етапі призводять до артефактів — темних смуг на стиках, розмитих тіней, перевитрати пам'яті на 30–50%.

Ми запікаємо лайтмапи для проєктів понад 5 років — маємо 5+ років досвіду та виконали понад 30 комерційних ігор: від мобільних стратегій до PC-екшенів. Наш підхід — детальний аудит геометрії, ручне правлення UV1 у Blender, підбір компресії під цільову платформу (ASTC для iOS, ETC2 для Android). Гарантуємо якість — лайтмапи, які не соромно показати у фінальному білді.

У цій статті розберемо технічні деталі: чому UV1 — головне джерело проблем, як правильно налаштувати Progressive Lightmapper (прямі семпли, непрямі, максимальні відскоки), які формати стиснення обрати для різних платформ. А також поділимося реальним кейсом із практики — мобільна стратегія з обмеженням 4 MB на сцену.

Чому UV1-розгортка — головна причина проблем?

Progressive Lightmapper запікає освітлення в UV Channel 1. Якщо цей канал налаштовано невірно, жодні параметри не врятують. Три жорсткі вимоги: острови не перекриваються, відступ від краю атласу мінімум 2 пікселі, пропорційний розмір островів.

Автоматична генерація UV (Model → Generate Lightmap UVs) часто створює занадто дрібні острови на архітектурних об'єктах — на стиках з'являються темні смуги через padding artifacts. Для таких об'єктів ми робимо UV1 вручну в Blender або Maya. Перевіряємо через Lightmap UV Preview у Scene View. Досвід показує: ручна розгортка скорочує відсоток браку з 40% до 5%, і вона в 3 рази швидша за автоматичну при повторному застосуванні.

Як налаштувати Progressive Lightmapper для якісного результату?

Ключові параметри: Lightmap Resolution — 10–20 для ближніх, 2–5 для дальніх (через Lightmap Parameters Assets). Direct Samples 64, Indirect Samples 512 — база для продакшну. Max Bounces — 2 для більшості сцен, 4 для скляних інтер'єрів. Denoising — обов'язково вмикати опцію Optix (NVIDIA) або OpenImageDenoise (Intel). GPU-версія Progressive Lightmapper прискорює запікання в 5–15 разів порівняно з CPU-версією. Для HDR-освітлення використовуємо фотометричні одиниці (Lux, Candela).

Кейс: лайтмапи для мобільної стратегії (з нашої практики)

Наш клієнт — мобільна стратегія з ізометричним виглядом, 20+ сцен. Вимога: лайтмапи ≤ 4 MB на сцену. При стандартних налаштуваннях — 6–8 MB. Рішення: один атлас 2048×2048 замість кількох 1024×1024 (кращий bin-packing), вимкнення Contribute GI для невидимих поверхонь. Результат — 2 MB в ETC2 при збереженні якості ближнього плану. Економія пам'яті — 40% (економія ~$200 на додатковому сховищі).

Порівняння форматів стиснення лайтмапів

Таблиця форматів
Формат Платформа Якість Розмір Примітка
ETC2 Android Середня 2–4 MB Рекомендований для більшості пристроїв
ASTC 6×6 iOS (Metal) Висока 1,5–3 MB Найкраще співвідношення якість/розмір
BC6H Desktop Висока 4–8 MB Тільки для HDR, потребує підтримки

Що входить у роботу із запікання лайтмапів під ключ

  • Аудит поточних UV-розгорток та виправлення проблемних об'єктів.
  • Налаштування Lightmap Parameters Assets під класи об'єктів.
  • Тестове запікання (Direct 8, Indirect 32) для верифікації структури.
  • Фінальне запікання з продакшн-параметрами та деноїзингом.
  • Оптимізація компресії під цільову платформу.
  • Перевірка в білді та коригування.

Етапи роботи над запіканням

  1. Аудит геометрії та UV-каналів.
  2. Налаштування параметрів запікання та Lightmap Parameters Assets.
  3. Тестове запікання з низькою якістю.
  4. Фінальне запікання з деноїзингом.
  5. Компресія та тест на цільовій платформі.
Масштаб проєкту Терміни
1–3 невеликі сцени (до 100 об'єктів) 2–4 дні
10–20 сцен середнього розміру 1–3 тижні
Великий рівень з відкритим простором 1–2 тижні
Повний пайплайн з UV-правками та оптимізацією 3–6 тижнів

Для точної оцінки проєкту зв'яжіться з нами — проаналізуємо поточний стан та запропонуємо оптимальне рішення. Замовте безкоштовний аудит освітлення, щоб уникнути типових помилок. Ми працюємо зі студіями з СНД та Європи, виконали понад 30 проєктів із запікання. Гарантуємо результат за 3–6 тижнів.

Також рекомендуємо використовувати Light Probes для динамічних об'єктів — це покращує якість освітлення в русі.

Докладніше в офіційній документації Unity: Progressive Lightmapper.

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

Художник запікає лайтмапи годину, знаходить артефакт на стику 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 без артефактів. Отримайте безкоштовну консультацію з налаштування освітлення під ключ: від аналізу до фінальної оптимізації.