Послуги з текстурування та створення матеріалів

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

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

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

Відвідати персоналізований сайт
Показано 7 з 7 послугУсі 242 послуг
Текстурування 3D-моделей та створення матеріалів (PBR)
Складна
від 2 робочих днів до 2 тижнів
Створення тайлових текстур та атласів графіки
Середня
від 1 робочого дня до 1 тижня
Часті питання

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

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

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

  • image_games_mortal_motors_495_0.webp
    Розробка гри для компанії Mortal Motors
    683
  • image_games_a_turnbased_strategy_game_set_in_a_fantasy_setting_with_fire_and_sword_603_0.webp
    Покрокова стратегія у фентезі сеттингу With Fire And Sword
    862
  • image_games_second_team_604_0.webp
    Розробка ігри для компанії Second term
    491
  • image_games_phoenix_ii_606_0.webp
    3D-анімація – тизер для гри phoenix 2.
    533

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

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