Налаштування PBR-матеріалів для ігрових рушіїв

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

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

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

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

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

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

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

  • image_games_mortal_motors_495_0.webp
    Розробка гри для компанії Mortal Motors
    1438
  • image_games_a_turnbased_strategy_game_set_in_a_fantasy_setting_with_fire_and_sword_603_0.webp
    Покрокова стратегія у фентезі сеттингу With Fire And Sword
    972
  • image_games_second_team_604_0.webp
    Розробка ігри для компанії Second term
    586
  • image_games_phoenix_ii_606_0.webp
    3D-анімація – тизер для гри phoenix 2.
    651
  • image_training-quizzes_kids_shopping_quiz_614_0.webp
    Навчальна вікторина для дітей «Покупки в магазині»
    13

Зібрали PBR-матеріал у Substance Painter, а в рушії він виглядає по-іншому? Знайома ситуація. У 80% випадків проблема криється в mismatch колірних просторів: Albedo імпортується як sRGB, а рушій очікує Linear. Або Normal Map без інверсії зеленого каналу для DirectX. Ми стикалися з проектами, де через невірне пакування Mask Map в HDRP доводилося перезбирати 50 матеріалів вручну. Наша методика виключає такі помилки. Аналізуємо вихідні текстури, підбираємо правильні налаштування імпорту, створюємо Master Material з параметрами — і матеріал виглядає ідентично Substance Painter. Зв'яжіться з нами, щоб отримати консультацію щодо ваших матеріалів.

Проблема майже завжди одна з трьох: неправильний color space, невірне пакування каналів або розузгодження за налаштуваннями Tone Mapping між DCC-інструментом і рушієм. Вирішуємо її за 2–4 дні для набору з 20 матеріалів.

Чому PBR-матеріали виглядають інакше в рушії?

Кожен рушій трактує PBR-дані по-своєму. Unity в різних пайплайнах використовує різні формати матеріалів, Unreal Engine 5 вимагає packed ORM текстуру. Якщо не врахувати ці нюанси, Albedo зсувається, Smoothness інвертується, нормалі «вивертаються». Результат — матеріал, який «не працює».

Як налаштувати пакування каналів для HDRP та URP?

У Unity різниця між HDRP та URP — не лише в якості рендерингу. У них повністю різні формати матеріалів.

Universal Render Pipeline (URP) використовує Lit Shader з прямолінійним пакуванням: Albedo, Normal, Metallic (R) + Smoothness (A), AO (G), Emission. Smoothness в URP — це інвертований Roughness. Якщо експортувати Roughness із Substance Painter і підключити в Smoothness канал без інверсії, матеріал буде дзеркальним там, де має бути матовим.

High Definition Render Pipeline (HDRP) має Mask Map з пакуванням: Metallic (R), AO (G), Detail Mask (B), Smoothness (A). Це нестандартне пакування, яке Substance Painter не створює автоматично в базових шаблонах. Потрібно або використовувати HDRP-шаблон у Substance Painter при створенні проекту, або вручну компонувати Mask Map. Помилка при пакуванні каналів — один із найчастіших багів при перенесенні асетів з іншого рушія.

Color Space — окремий критичний момент. У Unity Albedo імпортується як sRGB, Normal Map — як Linear (обов'язково зняти прапорець sRGB в Import Settings), Roughness, Metallic, AO — як Linear. Ігнорування цих налаштувань — джерело половини проблем.

Як правильно упакувати ORM текстуру для Unreal Engine?

В Unreal Material Graph текстури підключаються до відповідних входів Principled BSDF-аналога. Але є кілька нюансів.

Packed ORM текстура. В Unreal Engine стандарт — пакування AO (R), Roughness (G), Metallic (B) в одну текстуру з прапорцем Linear Color. Це знижує кількість текстурних семплів у шейдері з трьох до одного, що покращує продуктивність на 20% у сценах з багатьма матеріалами. Правильний Export Preset для Unreal у Substance Painter — Unreal Engine 4 (Packed).

Normal Map координати. Unreal використовує DirectX-простір нормалей: зелений канал (Y) інвертований відносно OpenGL. При імпорті нормалей потрібно або використовувати DirectX прапорець при експорті з Substance, або включити опцію Flip Green Channel в Import Settings Unreal.

Texture Compression. Unreal стискає текстури в BC7 (DirectX) або ETC2 (мобайл). Albedo — Default (BC7), Normal Map — Normal Map (BC5), Metallic/Roughness/AO — Masks (BC4/BC7 без sRGB).

Material Instances — обов'язкова практика. Замість дублювання Material Graph для кожного варіанту — один Master Material з параметрами, до яких створюються Instances. Це знижує кількість унікальних шейдерів у 3–4 рази, прискорює завантаження на 30% і дозволяє змінювати параметри без перезбірки. Така оптимізація шейдерів знижує draw calls і покращує FPS. Наприклад, ми оптимізували проект з 200 матеріалів до 15 Master Materials + 200 Instances, скоротивши час завантаження на 40%.

Як ми налаштовуємо PBR-матеріали: покроковий процес

  1. Аудитуємо вихідні текстури: перевіряємо бітність, колірний простір, наявність всіх карт.
  2. Обираємо цільовий рушій і рендер-пайплайн, визначаємо формат пакування.
  3. Налаштовуємо експорт із Substance Painter з потрібним пресетом або пишемо кастомний JSON-конфіг.
  4. Імпортуємо в рушій з правильними Import Settings (sRGB/Linear).
  5. Збираємо Master Material з параметрами, створюємо Instances.
  6. Перевіряємо матеріал на тестовій сцені: Albedo (30–240 sRGB), Normal Map (без артефактів), Smoothness (0–1), AO (не подвійне затінення), Metallic (бінарний).

Порівняння рендер-пайплайнів за параметрами PBR

Параметр Unity HDRP Unity URP Unreal Engine 5
Пакування текстур Mask Map (RGBA) Окремі текстури з Smoothness ORM packed (R=AO, G=Rough, B=Met)
Smoothness Зі збереженої шорсткості Інверсія Roughness З Roughness каналу
Normal Map простір OpenGL (стандарт) OpenGL DirectX (вимагає інверсії Y)
Стиснення Normal BC5 BC5 BC5
Material Inheritance Shader Graph / Instances Shader Graph / Instances Master Material + Instances

Що входить у налаштування PBR-матеріалів

  • Аналіз вихідних текстур та їх придатності під цільовий рушій.
  • Налаштування Export Preset та конвертація текстур (канали, колірний простір).
  • Створення Master Material з параметрами (Base Color, Normal, ORM/Mask, Emission).
  • Збірка Material Instances для кожного асета.
  • Перевірка на тестовій сцені з бічним світлом та HDRI.
  • Документування налаштувань та передача в git-репозиторій проекту.
Масштаб задачі Орієнтовний термін
Налаштування одного матеріалу від 0.5 дня
Перенесення набору з 10–20 асетів від 2 днів
Розробка Master Material + 30 Instances від 5 днів
Повний аудит матеріалів проекту за узгодженням

Терміни уточнюються після аналізу проекту. Замовте налаштування PBR-матеріалів — гарантуємо сумісність під ваш рушій. Зв'яжіться з нами для безкоштовної оцінки обсягу робіт.

Physically Based Rendering — основа сучасних ігрових матеріалів. Детальніше у Wikipedia.

Текстурування та матеріали

Художник надсилає асет у рушій — і він виглядає як пластикова іграшка. Ми це бачили десятки разів: правильна геометрія, хороша UV-розгортка, але матеріал «не грає». У 90% випадків причина — у нерозумінні PBR-каналів. За 10+ років роботи над мобільними та PC-проектами ми виробили пайплайн, який гарантує передбачуваний результат у будь-якому освітленні. Текстурування для сучасних ігор — це робота з фізично коректними матеріалами, процедурними системами та жорстким FPS-бюджетом. Наш досвід включає понад 50 завершених ігрових проектів — від інді до AAA. Зв'яжіться з нами — обговоримо, який пайплайн текстурування краще підійде вашому проекту з PBR-матеріалами для ігор.

Чому PBR-матеріали є стандартом для сучасних ігор?

PBR (Physically Based Rendering) — не художній стиль, а набір правил, за яких матеріал поводиться фізично передбачувано за будь-якого освітлення. В Unity (URP/HDRP) та Unreal це стандарт за замовчуванням. Використання PBR скорочує час на переробку на 30%: матеріал, запечений за правилами, не потребує повторного налаштування при зміні середовища. На відміну від legacy-підходів, PBR дає єдність у команді — художник і технар говорять однією мовою каналів.

Що входить до PBR-пайплайну: Metal/Roughness vs Specular/Glossiness?

Два основні workflow:

  • Metal/Roughness (використовується в Unity URP, Unreal): Base Color — дифузний колір без інформації про освітлення. Metallic — бінарна карта: 0 (діелектрик) або 1 (метал). Roughness — 0 дзеркальна поверхня, 1 матова. Normal Map — симуляція рельєфу. AO (Ambient Occlusion) — затемнення в заглибленнях.
  • Specular/Glossiness — старий workflow, використовується рідше, в основному legacy-проектах або при конверсії з Photoshop.

Граничні значення для діелектриків: base color не темніший за #383838 і не світліший за #E0E0E0 — інакше матеріал починає «світитися» або «провалюватися» в темряву при HDR-освітленні. Для металів base color = колір відбиття (золото — теплий, хром — нейтральний).

— з документації Unreal Engine: «PBR — єдиний спосіб отримати передбачувані відбиття на всіх платформах».

Як Substance Designer прискорює створення тайлових матеріалів?

Якщо Substance Painter — ручне фарбування по готовій геометрії, то Substance Designer — програмування матеріалу. Нодовий граф на виході дає набір текстурних карт, які генеруються алгоритмічно. Designer в 5 разів швидший за ручне текстурування при повторному використанні: один граф з параметрами — розмір каменю, зазор, замшілість, вологість — дає сотні варіацій. Замість малювання 2K-текстури руками художник збирає граф, який можна:

  • Параметризувати — один граф «кам'яна кладка» з повзунками: розмір каменю, зазор, ступінь замшілості, вологість.
  • Масштабувати без втрати якості — рендеринг в будь-якій роздільній здатності (2K → 4K для cinematic).

Будівельні блоки графа в Designer:

  • Shape nodes — геометричні примітиви (прямокутник, коло, полігон). Основа для тайлових патернів.
  • Noise nodes (Perlin, Gaussian, Cells, Voronoi) — органічні нерегулярності.
  • Tile Generator / Splatter — ключові ноди для створення патернів з контролем зміщення, ротації, масштабу.
  • Warp nodes — деформація по карті нормалей або градієнту (потоки, зсуви, тріщини).
  • Blend — змішування шарів з маскуванням (фінальний композитинг).
  • Normal Map nodes — синтез нормалей з height-даних.

Типовий граф для матеріалу «промисловий метал»:

[Shape: прямокутна панель]
    ↓
[Tile Generator: сітка панелей з невеликим offset]
    ↓
[Warp: мікровибоїни від Gaussian noise]
    ↓
[Blend: додавання curvature-маски → іржа по ребрах]
    ↓
[Blend: потоки по Directional Warp]
    ↓
[Export: BaseColor / Metallic / Roughness / Normal / AO]

Такий граф перевикористовується в різних проектах без переробки при зміні роздільної здатності. Один граф економить до 40% часу на повторювані текстури.

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

Головна помилка — завищена роздільна здатність текстур і неправильний формат стиснення. Порівняльна таблиця по платформах:

Платформа Максимальна текстура на hero asset Формат стиснення Розмір відносно PNG
Mobile (mid-range) 1K–2K ETC2 / ASTC В 4–8 разів менше
PC / Console 2K–4K BC1–BC7 В 4 рази менше
VR 1K–2K ASTC (обов'язково) В 4–8 разів менше

Ніколи не експортувати PNG в продакшн без компресії — це прямий витрата пам'яті. BC7 для RGBA дає хорошу якість при 8 bpp. ASTC для мобайла налаштовується за співвідношенням quality/size. Додаткова таблиця порівняння інструментів:

Інструмент Швидкість Гнучкість Перевикористовуваність
Substance Designer 3-5 днів на тайл Максимальна (параметри) 100% для різних проектів
Substance Painter 2-3 дні на hero-асет Середня (ручне домальовування) ~70% через Smart Materials
Quixel Mixer 1-2 дні Обмежена бібліотекою Megascans Залежить від проекту

Як відбувається процес роботи: від референсу до інтеграції?

  1. Аналіз референсів та референсної геометрії — визначення PBR-каналів, стилю, обмежень платформи.
  2. Створення UV-розгортки та бейкінг — запікання AO, Normal, Curvature, Thickness з урахуванням texel density.
  3. Текстурування — Painter для hero, Designer для тайлів, hand-painted якщо потрібно.
  4. Експорт та оптимізація — стиснення в цільовий формат, атласування, LOD-текстури, тест на цільовій платформі.
  5. Підтримка при інтеграції — налаштування матеріалів у рушії, налагодження при проблемах з освітленням.
Чек-лист типових помилок - Base Color містить fake-тіні → ламає динамічне освітлення.
- Normal Map в sRGB-просторі → інвертовані нормалі.
- AO та Curvature не запечені → Smart Materials працюють некоректно.
- Роздільна здатність текстур вища за необхідну → падіння FPS та зайвий VRAM.
- Формат стиснення обраний без урахування альфа-каналу (BC1 vs BC7).

Що входить в роботу та гарантії якості?

  • Deliverables: PBR-сети текстур (Base Color, Metallic, Roughness, Normal, AO) під Metal/Roughness workflow, параметричний граф Substance Designer (якщо потрібно), повна документація з налаштування матеріалів в Unity/Unreal, підтримка при інтеграції з тестуванням на цільовій платформі.
  • Гарантія: кожен матеріал перевіряється в рушії під трьома різними умовами освітлення. Наш досвід — 10+ років, 50+ проектів, включаючи проекти з AR Foundation та XR Interaction Toolkit.
  • Строки: від 3 до 14 днів залежно від складності (один тайловий матеріал в Designer — 3–5 днів, hero asset з UDIM — до 14 днів). Вартість розраховується індивідуально.

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