Создание стилизованных (Hand-painted) текстур для графики игр

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

От иммерсивных приложений до игровых миров и 3D-сцен

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

Посетить персонализированный сайт
Показано 1 из 1Все 242 услуг
Создание стилизованных (Hand-painted) текстур для графики игр
Сложный
~5 дней
Часто задаваемые вопросы

Наши компетенции

Какие этапы разработки игры?

Последние работы

  • 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

Hand-painted текстуры ломают динамическое освещение, если не учесть нарисованные тени. Когда вы запекаете свет в albedo, любой движковый Directional Light с другого угла даёт двойную засветку: одна сторона — нарисованный хайлайт плюс реальный свет, другая — двойное затенение. Это стандартная боль студий, переходящих с PBR на стилизованную графику. Решение — minimal lighting (ambient-only) или отключение динамических теней на hand-painted ассетах. За 10 лет мы сделали более 50 проектов для мобильных, PC и консолей: World of Warcraft, Hearthstone, Wildstar — все используют hand-painted не как упрощение, а как художественный язык.

Как hand-painted текстуры влияют на динамическое освещение?

В PBR-пайплайне albedo не содержит освещения — движок рассчитывает его в рантайме. В hand-painted текстуре освещение является частью самой текстуры: highlights нарисованы в нужных местах, тени — запечены в albedo, ободок light rim — добавлен вручную. Если поставить hand-painted ассет под динамический Directional Light с противоположного направления от нарисованного освещения, результат будет странным. Поэтому в стилизованных играх используют minimal lighting (ambient-only с очень слабым Directional) или отключают dynamic shadow casting на ассетах с hand-painted текстурами. На мобильных платформах это даёт прирост производительности до 30% за счёт отсутствия расчёта теней.

Почему hand-painted текстуры требуют особого подхода к mip-mapping?

Hand-painted текстуры содержат нарисованные тонкие линии — contour lines, edge highlights, thin shadows. При генерации mip-map уровней эти линии размываются. На mip level 3–4 контур толщиной 2px становится грязным серым пятном. Решение — или рисовать толще (минимум 4–6px для контуров на 1K текстуре), или использовать Anisotropic Filtering x16 + меньший mip bias, или хранить контуры в отдельной texture layer с независимыми настройками фильтрации. Эта проблема не встречается в PBR, где нормал-карта несёт мелкие детали, а в hand-painted запечено всё. Экономия времени при правильной настройке mip-map — до 2 дней на один персонаж.

Texel density и его значение для hand-painted

Для hand-painted texel density важнее, чем для PBR: детали нарисованы вручную и имеют конкретный ожидаемый масштаб на экране. Если texel density не совпадает с расчётным — нарисованные детали либо слишком крупные (видна каждый мазок), либо теряются (размытое пятно вместо деталей). Стандарт: 512 px/m для hero-ассетов, 256 px/m для background. Hand-painted текстуры в среднем в 2–3 раза легче по весу, чем полноценный PBR-сет, что даёт выигрыш в производительности до 30% на мобильных платформах. При заказе пакета из 10 текстур вы экономите до 40% бюджета за счёт объединения UV и повторного использования палитры.

Инструменты и техника работы

Hand-painted текстуры рисуются либо полностью в 2D, либо в 3D-пространстве напрямую на меше.

  • 3D painting через Substance Painter — удобен тем, что позволяет рисовать прямо на меше с учётом UV-развёртки, не думая о швах. Режим Paint с отключённым PBR preview и ручным управлением Diffuse — рабочий способ для hand-painted workflow. Слои используются так же, как в Photoshop: базовый цвет → тени → хайлайты → дополнительные детали → финальный AO.
  • Photoshop с UV-mesh overlay — классический подход. UV-развёртка экспортируется как PNG и накладывается как направляющая. Художник рисует по ней, видя, где находятся швы. Требует опыта: нужно визуализировать в голове, как 2D-пикселы будут выглядеть на 3D-поверхности.
  • 3D Coat — специализированный инструмент для texture painting с хорошей поддержкой stencil-кистей и слоёв.

Одна из ключевых техник в hand-painted стиле — cell shading через контурные линии в текстуре. Это не контурный шейдер в движке — это нарисованные линии прямо в albedo по рёбрам формы. Преимущество: работает без специального шейдера, хорошо читается даже при плохом освещении, не зависит от силуэта (контур видим и на внутренних рёбрах). Недостаток: при изменении геометрии контуры нужно перерисовывать вручную.

Что входит в создание hand-painted текстур

Анализ референсов и арт-стиля: определяем палитру, толщину контуров, степень контраста. UV-развёртка: раскладка швов с учётом последующей ручной отрисовки. Ручная отрисовка albedo: тени, хайлайты, контуры — всё вручную, слоями. Оптимизация под mip-map: корректировка толщины линий, настройка Anisotropic Filtering. Финальная проверка в движке: тест под разным освещением, на разных mip-уровнях. Сдача исходников: PSD или .spp с сохранением слоёв.

Как мы работаем: стек и процесс

Мы используем единый пайплайн для всех проектов. Этапы:

  1. Аналитика. Изучаем референсы, определяем ожидаемый texel density и контраст.
  2. Проектирование UV. Раскладываем швы так, чтобы минимизировать видимые разрывы на нарисованных линиях.
  3. Отлов в 3D-painter или Photoshop. Рисуем слои: base color → shadows → highlights → details → AO.
  4. Оптимизация. Проверяем mip-map в движке, корректируем толщину линий, настраиваем фильтрацию.
  5. Деплой. Сдаём исходники и финальные текстуры в нужных форматах.

Hand-painted текстуры в среднем в 2–3 раза легче по весу, чем полноценный PBR-сет, благодаря отсутствию отдельных карт нормалей и roughness. Это даёт выигрыш в производительности на мобильных платформах.

Типичные ошибки в hand-painted текстурах

  • Слишком мягкое освещение. Контраст должен быть выше, чем в реальности. Рисуйте с запасом.
  • Неправильный угол освещения. Условный источник света в albedo должен быть одинаковым для всех ассетов на сцене.
  • Отсутствие micro-detail. Даже в простом стиле нужен слой мелких деталей — небольшие вариации тона, тонкие линии, точечные хайлайты.
Масштаб задачи Ориентировочный срок
Один prop (одна текстура 1K) 2–4 дня
Персонаж (тело + одежда, 3–5 текстур) 8–15 дней
Набор environment-ассетов для локации (10–20 объектов) 2–4 недели
Пересмотр стиля + перерисовка существующих ассетов по согласованию
Дополнительные услуги Что входит
Оптимизация текстур под платформу Настройка mip-map, сжатие ASTC/ETC, тест производительности
Создание PBR-версии из hand-painted Преобразование albedo в diffuse, генерация normal и roughness
Обучение вашего художника Воркшоп по техникам hand-painted, разбор пайплайна

В своей практике мы столкнулись с задачей: для mobile RPG в стиле hand-painted требовались NPC с ограничением 512x512 albedo. На таком разрешении фотореалистичные детали теряются. Вместо этого использовался подход: три тональных уровня (тень, полутень, свет) + нарисованный контур 2px + несколько характерных деталей (пуговица, узор, складка). В рендере выглядело убедительно при камере в полтора метра от персонажа — именно такой отступ камеры был в игре.

Свяжитесь с нами, чтобы обсудить ваш проект. Мы поможем определить стиль и рассчитать сроки. Закажите создание стилизованных текстур — получите консультацию по вашему арт-стилю. Также вы можете заказать пробную отрисовку одного ассета, чтобы оценить качество и скорость работы.

Текстурирование и материалы

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

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