Зібрали 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-матеріали: покроковий процес
- Аудитуємо вихідні текстури: перевіряємо бітність, колірний простір, наявність всіх карт.
- Обираємо цільовий рушій і рендер-пайплайн, визначаємо формат пакування.
- Налаштовуємо експорт із Substance Painter з потрібним пресетом або пишемо кастомний JSON-конфіг.
- Імпортуємо в рушій з правильними Import Settings (sRGB/Linear).
- Збираємо Master Material з параметрами, створюємо Instances.
- Перевіряємо матеріал на тестовій сцені: 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 |
Залежить від проекту |
Як відбувається процес роботи: від референсу до інтеграції?
- Аналіз референсів та референсної геометрії — визначення PBR-каналів, стилю, обмежень платформи.
- Створення UV-розгортки та бейкінг — запікання AO, Normal, Curvature, Thickness з урахуванням texel density.
- Текстурування — Painter для hero, Designer для тайлів, hand-painted якщо потрібно.
- Експорт та оптимізація — стиснення в цільовий формат, атласування, LOD-текстури, тест на цільовій платформі.
- Підтримка при інтеграції — налаштування матеріалів у рушії, налагодження при проблемах з освітленням.
Чек-лист типових помилок
- 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 днів). Вартість розраховується індивідуально.
Замовте текстурування вашого асета — ми гарантуємо передбачуваний результат без переробок. Отримайте консультацію щодо відповідного пайплайну вже сьогодні.