Налаштування рівнів деталізації (LOD) для графіки

Ми стикаємося з LOD-проблемами на кожному другому проєкті. Неправильно налаштований [LOD Group](https://docs.unity3d.com/Manual/class-LODGroup.html) в Unity дає зворотний ефект: LOD0 перемикається на LOD1 занадто рано, гравець бачить різкий pop, і це сприймається як баг. Або переходи налаштовані за

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

Інші послуги студії

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
    1504
  • image_games_a_turnbased_strategy_game_set_in_a_fantasy_setting_with_fire_and_sword_603_0.webp
    Покрокова стратегія у фентезі сеттингу With Fire And Sword
    1005
  • image_games_second_team_604_0.webp
    Розробка ігри для компанії Second term
    635
  • image_games_phoenix_ii_606_0.webp
    3D-анімація – тизер для гри phoenix 2.
    716
  • image_training-quizzes_kids_shopping_quiz_614_0.webp
    Навчальна вікторина для дітей «Покупки в магазині»
    95

Ми стикаємося з LOD-проблемами на кожному другому проєкті. Неправильно налаштований LOD Group в Unity дає зворотний ефект: LOD0 перемикається на LOD1 занадто рано, гравець бачить різкий pop, і це сприймається як баг. Або переходи налаштовані за Screen Relative Height без урахування реальної відстані — на ортографічній камері LOD взагалі не працює. Наше завдання — зробити LOD непомітним, але ефективним.

Суть у тому, що LOD — це система управління складністю сцени залежно від видимості об'єкта. Вона працює правильно лише коли враховані: тип камери, швидкість руху гравця, освітлення (відкидні тіні у LOD1 часто гірші, ніж у LOD0), і те, як рушій рахує відстань.

Як виникає LOD pop і що з ним робити?

LOD Pop — головна візуальна проблема. Відбувається, коли геометрія та/або текстури між рівнями відрізняються надто сильно. Класичний випадок: художник зробив LOD1 з на 60% меншою кількістю полігонів, але UV-розгортка поїхала, і нормал-карта не компенсує втрату форми. Перехід з 10 метрів — помітний неозброєним оком. Вирішується через правильний LOD-генератор (ми використовуємо Simplygon або Unity LOD Generator) зі збереженням UV-seam'ів і перевіркою normal projection.

Тіні не слідують за LOD-переходами. В Unity Shadow Caster Culling працює незалежно від LOD Group. Якщо у вас LOD2 — плоский billboard з 2 полігонами, а тінь все ще рахується від LOD0 mesh (тому що Force Shadow Casting = On), ви платите за рендер тіней від повної геометрії об'єкта, якого візуально немає. Це легко пропустити — Frame Debugger показує Shadow Pass з повним Draw Call-бюджетом. Ми гарантуємо усунення таких прихованих витрат.

HLOD (Hierarchical LOD) не налаштований для великих сцен. В open-world проєктах стандартний LOD Group не працює на відстані понад 500 метрів — об'єкти просто culled, але Scene не вивантажується. Unity HLOD (через HLOD Creator пакет) об'єднує далекі об'єкти в один mesh автоматично. Без цього у вас може бути 3000 Draw Calls від дерев на горизонті. Оцінимо ваш проєкт за 1–2 дні.

Чому LOD-політика повинна відрізнятися для різних типів об'єктів?

Під кожну категорію об'єктів (персонажі, будівлі, пропси, рослинність) встановлюємо окрему LOD-політику. Приклад з практики — мобільна RPG, відкритий світ 2×2 км. Дерева: LOD0 (500 полігонів) до 15 метрів, LOD1 (80 полігонів) до 50 метрів, LOD2 (billboard cross) до 150 метрів, Culled за 150 метрів. Будівлі: LOD0 до 30 метрів, LOD1 до 80 метрів, LOD2 до 200 метрів. Таке налаштування дало зниження Draw Calls з 680 до 210 в центрі міста.

Для Unreal Engine працюємо з Nanite там, де це застосовно — на статичних мешах з високим poly count. Але Nanite не замінює LOD для рухомих об'єктів і не працює з напівпрозорими матеріалами. HLOD в UE5 налаштовуємо через World Partition HLOD Layer. Згідно з документацією Unreal Engine, Nanite best practice вимагає вимикати LOD для Nanite-мешів.

Cross-фейдинг замість hard pop. Unity LOD Group підтримує Cross Fade mode — дітерінговий перехід між рівнями. Працює через Dither Fade шейдерне ключове слово. На мобільних платформах дітерінг дешевший, ніж здається — Adreno добре його паралелить. Вмикаємо для великих об'єктів на передньому плані, залишаємо instant-перехід для дрібного пропса вдалині.

Рослинність — окрема історія. SpeedTree LOD інтегрується в Unity через окремий pipeline. Головна пастка — billboard LOD SpeedTree рендериться через окремий BatchRendererGroup, і його потрібно профілювати окремо від основного Draw Call лічильника. Бачили проєкти, де 40% GPU time йшло на 2000 billboard-дерев, які здавалися «вже оптимізованими». Ми навчаємо команду таким нюансам в рамках підтримки.

Як налаштувати LOD за 5 кроків?

  1. Профілювання GPU: відкрийте Profiler → GPU Usage і Frame Debugger з фільтром по Draw Calls. Визначте, скільки об'єктів рендериться з надлишковою деталізацією.
  2. Аналіз Overdraw: в Scene View увімкніть Overdraw mode — знайдіть об'єкти з високим overdraw без LOD.
  3. Класифікація: розділіть об'єкти на категорії та для кожної встановіть кількість рівнів і порогові дистанції за таблицею нижче.
  4. Генерація LOD: використовуйте Simplygon або вбудований генератор. Для критичних мешів — ручне доопрацювання.
  5. Тестування на цільовій платформі: перевірте відсутність pop і приріст FPS.
Категорія об'єктів Рівні Пороги (м) Тіні
Персонажі LOD0, LOD1, LOD2 0–10, 10–25, 25–50 On до LOD1
Будівлі LOD0, LOD1, LOD2 0–30, 30–80, 80–200 On до LOD0
Пропси (дрібні) LOD0, LOD1 + Culled 0–5, 5–15 Off на LOD1
Рослинність (дерева) LOD0, LOD1, Billboard, Culled 0–15, 15–50, 50–150 Off на LOD2

Процес роботи над LOD

Аудит починається з Profiler → GPU Usage і Frame Debugger. Дивимося, скільки об'єктів рендериться за межами видимої деталізації. Після аудиту готуємо LOD-специфікацію: таблиця з категоріями об'єктів, кількістю рівнів, пороговими дистанціями, політикою тіней для кожного рівня. Це артефакт, який погоджуємо з командою художників.

Реалізація: або налаштування існуючих LOD Group, або створення LOD-асетів (якщо їх немає), або автоматична генерація з подальшою ручною правкою критичних об'єктів.

Після аудиту ми виявили 450 об'єктів без LOD. Створили LOD-асети з 2–3 рівнями, застосували cross-fade для будівель і instant для пропса. Результат: FPS зріс з 28 до 55 на Samsung Galaxy S10. Економія Draw Calls склала 40%.

Що входить в роботу

Deliverable Опис
LOD-специфікація Документ з порогами, рівнями та налаштуваннями тіней для кожної категорії
Налаштовані LOD Group Всі асети з правильною конфігурацією
Оптимізовані меші Згенеровані або вручну доопрацьовані LOD-копії
Рекомендації щодо баджену Інструкції для художників з підготовки вихідників
Підтримка при впровадженні Консультації на етапі інтеграції та тестування (1 місяць)
Масштаб задачі Орієнтовні терміни
Аудит LOD-налаштувань + звіт 1–3 дні
Налаштування LOD для однієї сцени (до 200 типів об'єктів) 1–2 тижні
Розробка LOD-політики + реалізація для open-world 3–6 тижнів
Інтеграція HLOD/Nanite в існуючий проєкт 2–4 тижні

Зв'яжіться з нами для консультації — ми підготуємо пропозицію під ваш проєкт. Наші інженери мають досвід налаштування LOD для AAA-проєктів та мобільних ігор. Пишіть, оцінимо задачу за 1–2 дні без зобов'язань.