Текстурування та матеріали
Художник відправляє ассет у движок — і він виглядає як пластикова іграшка. Геометрія правильна, нормалі в порядку, але матеріал не читається як метал або потерта шкіра. Причина майже завжди одна з двох: або неправильно налаштовані PBR-канали, або художник малював "на око" без розуміння фізичної моделі, яку використовує рендерер движка.
Текстурування для ігор сьогодні — це робота з фізично корректними матеріалами, процедурними системами та жорсткими обмеженнями за пам'яттю.
PBR-пайплайн: на практиці
PBR (Physically Based Rendering) — не художній стиль, а набір правил, при яких матеріал поводиться фізично передбачувано при будь-якому освітленні. У Unity (URP/HDRP) та Unreal це стандарт за замовчуванням.
Два основних workflow:
Metal/Roughness (використовується в Unity URP, Unreal):
- Base Color — Дифузний колір без інформації про освітлення. Типова помилка: додавати підроблені тіні або блики прямо у base color.
- Metallic — Двійкова карта: 0 (діелектрик) або 1 (метал). Проміжні значення — лише для перехідних зон (іржа на металі, пил).
- Roughness — 0 дзеркальна поверхня, 1 повністю матова. Це найбільш "художня" карта з усього набору.
- Normal Map — Симуляція рельєфу без додавання геометрії.
- AO (Ambient Occlusion) — Затемнення в глибини. У HDRP запікується окремо та змішується в шейдері.
Specular/Glossiness (старий workflow, епоха Photoshop):
- Base Color + Specular + Glossiness. Використовується рідше — в основному в старих проектах або при роботі зі Spec/Gloss pipeline у Substance Painter для сумісності.
Граничні значення для діелектриків: base color не темніший за #383838 і не світліший за #E0E0E0 — інакше матеріал почне "світитися" або "проваліватися" в темноту при HDR-освітленні. Для металів base color = колір відбиття (золото — теплий, хром — нейтральний).
Substance Designer: процедурний пайплайн на глибину
Якщо Substance Painter — це ручна покраска по готовій геометрії, то Substance Designer — це програмування матеріалу. Нодовий граф, на виході якого — набір текстурних карт, генерованих алгоритмічно.
Це принципово змінює рабочий процес для тайлових матеріалів (тайлові текстури землі, цегли, бетону, металевих панелей). Замість того щоб рисувати 2K-текстуру вручну, художник збирає граф, який можна:
- Параметризувати — Один граф "кам'яна кладка" з параметрами: розмір каменю, зазор між камнями, рівень замшелості, вологість. Продюсер просить варіант "мокрого каменю вночі" — художник рухає повзунки, переділки не потрібні.
- Масштабувати без втрати якості — Процедурний матеріал рендериться в будь-якому розрізі. Зробили граф у 2K, потрібна 4K для cinematic-катсцени — перерахуємо експорт.
- Підтримувати в Runtime — Substance Engine (тепер частина Adobe) дозволяє змінювати параметри матеріалу прямо в движку. Використовується для динамічних матеріалів: покриття бруду, кров, зношеність.
Будівельні блоки графа в Designer:
- Shape nodes — Геометричні примітиви (прямокутник, коло, багатокутник). Основа для тайлових паттернів.
- Noise nodes (Perlin, Gaussian, Cells, Voronoi) — Органічні нерегулярності. Правило: жоден реальний матеріал не є строго регулярним, шум — це база.
- Tile Generator / Splatter — Ключові ноди для створення паттернів. Tile Generator розкладає фігуру по тайловій сітці з контролем зміщення, ротації, масштабу.
- Warp nodes (Directional Warp, Warp) — Деформація по карті нормалей або градієнту. Створює органічні потіки, зміщення, тріщини.
- Blend — Змішення шарів з маскуванням. Тут збирається фінальний compositing: base color = blend(чистий метал, іржа, маска по curvature).
- Normal Map nodes (Normal, Normal Combine) — Синтез нормалей з height-даних або їх комбінування.
Типовий граф для матеріалу "промисловий метал":
[Shape: прямокутна панель]
↓
[Tile Generator: сітка панелей з невеликим offset]
↓
[Warp: мікровмятини від Gaussian noise]
↓
[Blend: додавання curvature-маски → іржа по ребрах]
↓
[Blend: потіки по Directional Warp]
↓
[Export: BaseColor / Metallic / Roughness / Normal / AO]
Такий граф переиспользується в різних проектах, параметризується під стиль конкретної гри та не вимагає переділки при смені розрізу текстури.
Substance Painter: ручне текстурування
Painter — інструмент для покраски конкретного ассета по його геометрії. Головні можливості:
Baked mesh maps — Запічені карти (AO, Curvature, Normal, Position, Thickness) автоматично стають масками для генераторів. Це ключове: іржа автоматично з'являється на ребрах (по Curvature), брудь — у глибинах (по AO), потертості — на виступах.
Smart Materials — Попередньо встановлені стеки шарів з уже налаштованими генераторами. Правильно побудований Smart Material для "стареної шкіри" застосовується на будь-яку модель з коректними baked maps і одразу дає 70% результату.
UDIM-workflow у Painter — Для персонажів з кількома UV-тайлами. Кожний тайл рисується в окремому texture set, але Painter показує їх на моделі одночасно. Експорт — окремий файл на кожний тайл.
Hand-painted текстурування
Стиль, при якому освітлення "рисується" прямо в текстуру, мимоходячи фізичну модель. Характерний для мобільних ігор без динамічного освітлення (unlit шейдер), стилізованих проектів (WoW Blizzard-стиль), mobile idle/merge.
Інструменти: Photoshop (класика), Procreate (планшет), Krita (open source). Деякі художники рисують у Substance Painter з відключеним PBR-preview.
Обмеження: така текстура "зламається" при змінові умов освітлення. Запічені тіні не реагують на рухомий джерело світла. Для статичних сцен або мобайла — норма, для 3D-екшену з динамічним світлом — ні.
Quixel Mixer та Megascans
Quixel Mixer — Безплатний інструмент (для проектів на Unreal Engine — повністю безплатно через Megascans Bridge). Дозволяє змішувати фотоскановані матеріали з бібліотеки Megascans прямо на геометрії з маскуванням по curvature та AO. Для проектів на Unreal — потужна альтернатива Designer для окремо.
Megascans — Бібліотека фотосканованих матеріалів та мешей: камні, земля, кора, метал, бетон. Використовується як базовий шар, поверх якого Painter або Designer додає унікальні деталі.
Обмеження за пам'яттю
Текстурна пам'ять — прямий витрат VRAM. Правила:
| Платформа | Максимальна текстура на hero asset |
|---|---|
| Мобайл (середньостатистичний) | 1K–2K (компресія ETC2 / ASTC) |
| ПК / Консолі | 2K–4K (BC1–BC7) |
| VR | 1K–2K (компресія обов'язкова) |
Формати компресії важливі: BC7 для RGBA дає хорошу якість при 8 bpp. ASTC для мобайла налаштовується по співвідношенню якість/розмір. Ніколи не експортувати PNG у продакшн без компресії — це прямий витрат пам'яті у 4–8x.
Що ми надаємо
- PBR-текстурування у Substance Painter (Metal/Roughness workflow) під Unity URP/HDRP та Unreal Engine.
- Розробка процедурних тайлових матеріалів у Substance Designer з параметризацією.
- Hand-painted текстурування для стилізованих та мобільних проектів.
- UDIM-пайплайн для персонажів та hero assets.
- Оптимізація текстурних наборів під цільову платформу (атласування, компресія, LOD-текстури).





