Настройка 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 даёт единообразие в команде — художник и технарь говорят на одном языке каналов. Physically Based Rendering — базовая статья на Wikipedia.

Что входит в 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 — смешение слоёв с маскированием (финальный compositing).
  • 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 дней). Стоимость рассчитывается индивидуально, ориентир от 20 000 до 80 000 рублей за единицу. Пакет из 5 тайловых материалов — от 80 000 до 150 000 рублей.

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