Текстурирование персонажей для игр
Персонаж — самый требовательный объект в текстурном пайплайне. Игрок смотрит на него постоянно, крупно, с разных углов. Любая ошибка в материале видна немедленно. Кожа, которая не рассеивает свет правильно, выглядит пластиком. Ткань с неверным roughness — как фольга. Металл без edge wear — как из магазина, а не из боевого похода.
Текстурирование персонажей — это не «сделать красиво», это решить набор конкретных технических задач.
Кожа: почему это самый сложный материал
Кожа человека — диэлектрик с Subsurface Scattering. Это значит, что свет не отражается от поверхности как от металла — он проникает внутрь на несколько миллиметров, рассеивается и выходит обратно с изменённым цветом. На ушах, пальцах, крыльях носа это ярко видно: при подсветке сзади они просвечивают красноватым.
Для корректной кожи в PBR-пайплайне нужно минимум три вещи:
Правильный Albedo. Кожа в albedo должна иметь достаточно насыщенный оттенок — её base color темнее, чем кажется при финальном освещении. Ошибка: художники делают albedo слишком светлым, компенсируя то, что SSS добавит яркость. В результате при включённом SSS кожа пересвечивается. Хорошая кожа — это roughness в диапазоне 0.55–0.75 (поры повышают roughness), metallic = 0, albedo в диапазоне 160–200 по RGB для светлой кожи.
Subsurface Scattering map. В Unity HDRP это Subsurface Mask в Lit Shader — белый = максимальный SSS, чёрный = без рассеивания. Уши, нос, пальцы — ярче. Лоб, щёки — средние значения. Затылок под волосами — почти чёрный. В Unreal Engine 5 для кожи используется Subsurface Profile asset с параметрами Scatter Radius и отдельными значениями для трёх слоёв (эпидермис, дерма, подкожная жировая ткань).
Detail Normal Map для пор. Общая Normal Map персонажа работает на макроуровне — мышечные переходы, крупные складки. Поры и мелкая текстура кожи — отдельная тайловая Detail Normal, которая накладывается поверх через Tiling UV (scale x10–x20 от основной). Без неё лицо выглядит отлито из пластика вне зависимости от SSS.
Одежда и доспехи: layer approach
Персонаж редко состоит из одного материала. Стандартный набор: кожа, ткань, металл, кожаный ремень, дерево рукояти, стекло визора. Каждый тип требует своих значений и своего подхода в Substance Painter.
Работа с многоматериальным персонажем строится через ID Map — текстура, где каждый материал закрашен отдельным чистым цветом. В Substance Painter это позволяет назначить Fill Layer с маской по ID на каждый материал и работать с ними независимо. Без ID Map художник работает ручными масками — медленно и с риском потерять маски при изменении меша.
Для ткани принципиально важен Roughness range. Грубая шерсть — roughness 0.85–0.9. Шёлк — 0.3–0.45. Джинса — 0.75–0.8. Типичная ошибка: художник делает ткань с roughness 0.6 — ни грубая, ни гладкая, просто матовый пластик.
Металл на персонаже — это почти всегда не новый металл. Edge wear на рёбрах через Curvature Generator (высокий metallic 0.95, низкий roughness 0.2), scratch pattern на плоских поверхностях через Anisotropy map, ржавчина или коррозия через AO Generator в углублениях. Layered подход в Substance Painter: base metal → scratches → edge wear → rust/dirt → final adjustments.
Работа с волосами и прозрачностью
Волосы — отдельная боль. Правильные волосы в real-time — это alpha-clipped плоскости (hair cards) с правильно настроенным Anisotropic Specular. В Unity HDRP волосы требуют материала с Hair Shader — там есть параметры Azimuthal Roughness и Longitudinal Roughness для Marschner Model. В Unreal — Hair Shader с Backlit parameter для просвечивания.
Текстура для hair cards: Albedo с alpha-каналом (прозрачность на краях прядей), Normal Map для объёма прядей, Root-to-Tip Gradient (для Anisotropic Shift). Качество alpha-маски критично: грубые края превращают волосы в картонные полоски. Поэтому alpha в волосяных текстурах хранится в отдельном канале, а при экспорте используется 16-bit для сохранения плавности.
Текстурный пайплайн для персонажа
На практике процесс выглядит так: получаем меш с UV-развёрткой, проверяем texel density (для hero-персонажа это минимум 512 px/m), настраиваем Baker Groups в Substance Painter под анатомические зоны, запекаем Normal/AO/Curvature/ID. Дальше — работа по зонам: сначала base materials через Smart Materials, потом ручная доработка, потом detail passes (грязь, царапины, потёртости), финальные проверки в разных условиях освещения.
| Масштаб задачи | Ориентировочный срок |
|---|---|
| NPC / background character (тело + одежда) | 4–8 дней |
| Главный герой без лицевой анимации | 8–15 дней |
| Hero-персонаж с полным facial setup | 15–25 дней |
| Creature / monster с органической геометрией | 10–20 дней |
Проверка материала — обязательный шаг перед сдачей. Персонаж прогоняется через несколько стандартных световых ситуаций: HDR-освещение студийное, overcast outdoor, жёсткий боковой свет, ночная сцена с точечными источниками. Материал, который выглядит хорошо только при одном освещении — не готов.
Стоимость рассчитывается после анализа меша, UV-развёртки и технических требований проекта.





