UV-развертка 3D-моделей графики
UV-развёртка — технически самая недооценённая часть пайплайна. Художник тратит неделю на sculpt, день на ретопологию, а UV делает за час «чтобы было». Потом запекает normal map и видит размытые швы на лице, растянутые текстуры на боку и seam прямо посередине лба.
Хорошая UV-развёртка невидима. Плохая — заметна на каждом скриншоте.
Где рождаются проблемы с UV
Texel density. Самая распространённая ошибка — неравномерная плотность текселей. Лицо получает столько же UV space, что и спина, хотя лицо — фокусная точка для зрителя. На 2048×2048 текстуре это разница между читаемым лицом и размытой маской. Инструменты типа Rizom UV или встроенный Texel Density Checker в Blender позволяют измерить и выровнять плотность по приоритетным зонам.
Stretching. Distortion UV islands дают искажение текстуры на поверхности. Organic формы (голова, руки) особенно чувствительны — там даже 5–10% stretch заметен на диффузной текстуре и вдвойне на normal map. Проверяется через Checkerboard Shader и Stretch Visualization в Blender/Maya.
Шовные артефакты при запекании. Seam-ы на UV islands дают тёмные или светлые полосы при bake в Marmoset Toolbag и Substance Painter. Причина — неправильный padding между islands. Стандарт для 2048×2048 — минимум 4px padding (лучше 8px для мобайла с mip-levels). При 1024×1024 — 4px и не меньше.
Overlapping islands. Если UV острова перекрываются, bake даст артефакты — это очевидно. Менее очевидно: overlapping умышленно используется для симметричных объектов (ботинки, наплечники). Но это работает только если освещение и запекание не создают видимых различий между зеркальными частями. В реальности — почти всегда создают.
Как делается профессиональный UV unwrap
Работаем в Rizom UV для сложных органических объектов и в Blender UV Editor для более прямолинейных задач. Maya UV Toolkit используется когда модель уже в Maya pipeline.
Planimetric seam placement. Seam-ы режутся по скрытым и визуально неприоритетным зонам: задняя поверхность шеи, внутренняя сторона бёдер, подошва, подмышки. Правило: seam в месте, куда камера попадает реже всего. Для оружия — торцевые поверхности рукоятки и нижняя грань клинка.
Unwrap. В Rizom UV используем Unfold3D алгоритм с последующей ручной правкой проблемных зон. Полная автоматика Unfold3D даёт хороший стартовый результат, но граничные острова (уши, пальцы, детали крепежа) требуют ручного вмешательства.
Packing. Автоматический packing в Rizom UV (или UVPackmaster для Blender) с ручной расстановкой приоритетов. Лицо, кисти рук, видимые детали — в основное UV пространство с максимальной площадью. Подошва, внутренние поверхности — compact зона с минимальным UV space.
Texel density normalization. После packing выравниваем плотность по критичным зонам. Лицо и руки — приоритет. Остальные поверхности — относительное выравнивание с допуском 10–15%.
Проверка. Checkerboard + Stretch map. Если на checkerboard квадраты деформированы, это stretch. Если seam-ы видны — их нужно перерезать или перенести.
Для UDIM workflow (несколько UV тайлов) процесс аналогичен, но острова распределяются по тайлам осознанно: голова — тайл 1001, тело — 1002, руки — 1003. Это требование для high-res персонажей в Unreal Engine 5 с Nanite или в рендеринговых pipeline под кинематику.
Ориентиры по срокам
| Объект | Сложность | Сроки |
|---|---|---|
| Простой проп (оружие, инструмент) | низкая | 2–6 часов |
| Hard-surface персонаж / техника | средняя | 1–3 дня |
| Органический персонаж | высокая | 2–4 дня |
| Full character с UDIM (4–6 тайлов) | очень высокая | 3–6 дней |
Сроки — на UV unwrap без текстурирования. Стоимость рассчитывается индивидуально.
Что нужно предоставить
- Финальный low-poly mesh (FBX или OBJ) с согласованной топологией
- Целевой размер текстурного атласа (2048, 4096, UDIM)
- Информацию о том, что будет запекаться (normal map, AO, curvature)
- Требования к количеству материальных слотов (одна текстура или несколько)





