Что такое UV-развёртка? Руководство по текстурированию 3D для начинающих

what is uv unwrapping cover
  • UV-развёртка выравнивает 3D-поверхность, чтобы текстуры накладывались правильно.
  • Швы определяют, где меш раскрывается на UV-острова.
  • Грамотные UV-карты уменьшают растяжение и обеспечивают равномерную детализацию текстур.
  • Плотность текселей и отступы важны для запекания чистых карт нормалей.
  • Tripo AI умеет генерировать модели с текстурами и упакованными UV-картами.

UV-развёртка — это процесс разрезания и выравнивания поверхности 3D-модели в 2D-раскладку, чтобы текстуры можно было наносить точно. Представьте, что вы снимаете кожуру с апельсина одним куском и кладёте её плашмя — именно это UV-развёртка и делает с 3D-мешем. Без неё любая текстура будет растягиваться, повторяться случайным образом или выглядеть совершенно неправильно.

Каждая 3D-модель, которой вы когда-либо восхищались в игре или фильме, — потёртая кожа на куртке персонажа, облупившаяся краска на стене — все эти детали хранятся в текстурах. А каждой текстуре нужна UV-карта, чтобы правильно лечь на 3D-поверхность. Это руководство объясняет, что такое UV-развёртка, как грамотно расставлять швы, как избегать самых распространённых ошибок и где ИИ-инструменты теперь берут эту работу на себя.

Почему это называется «UV»?

В 3D-пространстве каждая точка модели имеет координаты X, Y и Z. Они описывают положение объекта в трёх измерениях: влево-вправо, вверх-вниз и вперёд-назад.

what is uv unwrapping why is it called uv

Когда вы разворачиваете трёхмерную поверхность в плоскую 2D-раскладку текстур, программе необходима дополнительная система координат. Поскольку X, Y и Z уже задействованы для трёхмерного пространства, 3D-инструменты используют U и V для горизонтальной и вертикальной осей плоского пространства текстур.

U направлена слева направо. V — снизу вверх. UV-координата (0.5, 0.5) соответствует центру текстурного изображения. (0.0, 0.0) — нижний левый угол, а (1.0, 1.0) — верхний правый.

Это соглашение об именовании является универсальным. Blender, Maya, Substance Painter, Unity, Unreal Engine и большинство рендереров используют U и V для координат текстур.

Теперь, когда название стало понятным, рассмотрим, что представляет собой сам процесс.

Что на самом деле делает UV-развёртка?

Трёхмерный меш состоит из полигонов. Каждый полигон существует в 3D-пространстве, однако текстурное изображение плоское. UV-развёртка создаёт второй набор координат для каждой вершины меша: её положение на плоском 2D-холсте, называемом UV-пространством, или UV-картой.

what is uv unwrapping what does uv unwrapping actually do

Результатом является UV-развёртка. Она выглядит как плоская схема поверхности вашей модели и разделена на UV-острова — связанные участки развёрнутых полигонов. Например, у персонажа могут быть отдельные UV-острова для лица, туловища, рук, ног, кистей, обуви и одежды.

Каждый UV-остров располагается в пределах UV-пространства от 0 до 1. Текстурное изображение накладывается на это пространство, а программа использует UV-координаты, чтобы определить, какая часть изображения отображается на каждом участке модели.

Переместите UV-остров — и другая часть текстуры покроет эту поверхность. Увеличьте остров в масштабе — и этот участок получит больше деталей текстуры. Уменьшьте — и тот же участок станет более размытым.

Важнейший навык при UV-развёртке — умение правильно выбирать места разрезов, которые называются швами.

Что такое UV-швы и где их следует размещать?

UV-шов — это разрез, который вы отмечаете на ребре вашего 3D-меша. При развёртке модели программа разрезает сетку вдоль этих рёбер и разворачивает поверхность в UV-острова.

what is uv unwrapping what are uv seams and where should you place them

Представьте куртку. Чтобы разложить её плоско как ткань, нужно разрезать по швам: под руками, вдоль боков, вокруг рукавов и у воротника. UV-швы работают так же. Они указывают программе, где можно разделить трёхмерную поверхность.

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

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

Для твёрдотельных объектов — реквизита, транспортных средств, ящиков, оружия и механизмов — размещайте швы вдоль краёв панелей, фасок, угловых переходов и мест с резким изменением направления поверхности. На фантастическом ящике уже есть линии панелей — используйте эти рёбра, чтобы скрыть UV-разрезы.

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

В Blender выделите модель, войдите в режим редактирования (Edit Mode), выберите рёбра, которые нужно разрезать, затем щёлкните правой кнопкой мыши и выберите Mark Seam. Можно также использовать Ctrl+E → Mark Seam. После разметки швов нажмите U → Unwrap и проверьте результат в редакторе UV (UV Editor).

Когда швы расставлены и меш развёрнут, наиболее распространённая проблема — растяжение.

Как обнаружить и устранить растяжение UV

Растяжение UV возникает при искажении UV-острова. Одни полигоны получают слишком много текстурного пространства, другие — слишком мало. На модели растяжение проявляется как размытые детали, вытянутые узоры, сплющенные логотипы, деформированные клетчатые сетки или линии текстуры, изгибающиеся в неожиданных направлениях.

what is uv unwrapping how to spot and fix uv stretching

Простой тест — нанести шахматную текстуру. Если клетки выглядят равномерными, UV-развёртка в порядке. Если клетки вытягиваются в длинные прямоугольники или деформируются, UV растянуты.

В Blender откройте UV Editor, перейдите в Overlays и включите Stretch. Синие области означают низкое искажение. Красные или оранжевые области означают высокое искажение. Цель — сделать как можно большую часть развёртки синей.

what is uv unwrapping how to spot and fix uv stretching 2

Наиболее распространённая причина — недостаточное количество швов. Если программа пытается развернуть изогнутую поверхность без достаточного количества разрезов, ей приходится вытягивать остров в нужную форму. Добавьте швы на изгибах, складках, стыках и скрытых участках, затем выполните развёртку заново.

what is uv unwrapping how to spot and fix uv stretching 3
what is uv unwrapping how to spot and fix uv stretching 4

Длинные тонкие формы также могут растягиваться. Трубки, кабели, рукава, щупальца и ремни часто требуют одного шва, проходящего вдоль всей длины. В Blender для цилиндрических форм можно также воспользоваться U → Cylinder Projection.

Ещё одна проблема — полюса. Полюс — это вершина, в которой сходятся пять и более рёбер. Растяжение может расходиться от этой точки. Исправить это можно, переместив полюс в менее заметное место, изменив топологию или проведя шов для изоляции проблемного участка.

Когда растяжение устранено, следующий шаг — эффективная упаковка UV-островов.

Упаковка UV и плотность текселей

После развёртки UV-острова оказываются разбросаны по UV-холсту. Упаковка UV расставляет их так, чтобы пространство текстуры использовалось эффективно. Плотно упакованные острова обеспечивают модели более высокое разрешение текстуры, тогда как пустое незаполненное пространство снижает эффективное качество текстуры.

what is uv unwrapping uv packing and texel density

В Blender выделите UV-острова в UV Editor и воспользуйтесь командой UV → Pack Islands. Это автоматически упорядочит острова в пространстве UV 0–1. После этого вы по-прежнему можете вручную поворачивать, масштабировать или перемещать острова.

Плотность текселей — это количество пикселей текстуры (текселей), приходящихся на одну единицу 3D-пространства. Равномерная плотность текселей обеспечивает одинаковую чёткость текстуры по всей модели. Если лицо персонажа имеет высокую плотность текселей, а туловище — низкую, лицо будет выглядеть чётким, а туловище — размытым, даже если оба используют текстуру одного размера.

Игровые студии нередко задают целевые значения плотности текселей. Для второстепенного реквизита может использоваться 512 пикселей на метр, а для ключевого ассета — 1024 пикселя на метр и более. Оптимальное значение зависит от дистанции камеры, платформы, художественного стиля и бюджета текстур.

Пользователям Blender помогут такие дополнения, как TexTools: они позволяют измерять и нормализовать плотность текселей. Это особенно удобно, когда UV-острова масштабировались вручную и их нужно снова привести к единому значению.

UV-острова также могут намеренно перекрываться. Наложенные UV полезны, когда две поверхности используют одну и ту же текстуру, — например, зеркальные перчатки, одинаковые ботинки, повторяющиеся болты или одинаковые кирпичи. Однако не следует перекрывать острова, которым требуются уникальные данные запечённого освещения или карты нормалей. Перекрывающиеся UV при запекании лайтмапа или карты нормалей могут вызывать артефакты.

Во многих современных пайплайнах всё это не нужно делать вручную.

Автоматическая и ручная развёртка UV: когда использовать каждую

Автоматические инструменты UV позволяют сэкономить время, но они подходят далеко не всегда. Ручная развёртка UV даёт больше контроля — особенно для персонажей, ключевых ассетов и моделей, которым необходима чистая нарисованная текстура.

Рабочий процессЛучше всего подходит дляПреимуществаНедостатки
Автоматическая развёртка UVВторостепенный реквизит, простые твёрдотельные ассеты, прототипыБыстро и просто; достаточно хорошо для многих моделейМожет создавать запутанные острова, заметные швы или неравномерную плотность текселей
Ручная развёртка UVПерсонажи, ключевой реквизит, ассеты крупного планаЛучший контроль швов и более чистые области для рисованияМедленнее и требует практики
Проекционное текстурированиеКамни, рельеф, ящики, цилиндры, тайловые материалыБыстро для простых форм и повторяющихся текстурПлохо подходит для сложных уникальных текстур
UV, сгенерированные ИИАссеты, созданные ИИ, и быстрые рабочие процессы текстурированияПропускает ручную настройку и выдаёт готовые UV вместе с текстурамиМеньше контроля, чем при ручном создании UV

Для простого реквизита Smart UV Project в Blender может справиться хорошо. Выделите модель в режиме Edit Mode, нажмите U → Smart UV Project, при необходимости настройте угловой лимит и проверьте результат. Это удобно для ящиков, болтов, фоновых объектов и ранних тестов.

Для персонажей и ассетов крупного плана ручная развёртка обычно предпочтительнее. Вам нужны предсказуемые швы, читаемые UV-острова, чистые области для рисования текстур и достаточно пространства для важных деталей — лица, рук, доспехов или одежды.

Для моделей, созданных ИИ, возможно, вам вообще не придётся разворачивать UV вручную. Tripo AI Studio может генерировать модели с уже подготовленными UV и текстурами, позволяя значительно быстрее перейти от промпта или референсного изображения к готовому ассету с текстурами.

Простое правило выбора работает хорошо: используйте автоматические UV для скорости, ручные UV для контроля, а UV, сгенерированные ИИ, — когда нужен максимально быстрый путь от сгенерированной модели к текстурированному результату.

Развёртка UV и запекание карты нормалей — взаимосвязь

Развёртка UV приобретает ещё большее значение при запекании карты нормалей с высокополигональной модели на низкополигональную. Это распространённый этап после ретопологии.

what is uv unwrapping uv unwrapping and normal map baking the connection

Запекание карты нормалей использует UV-развёртку низкополигональной модели в качестве цели. Каждый UV-остров действует как окно в текстуру запекания. Пекарь сравнивает низкополигональную модель с высокополигональной и записывает детали направления поверхности в текстурное пространство этого острова.

Если два UV-острова перекрываются там, где они должны содержать разные детали, запекание может быть повреждено. Два высокополигональных участка могут записываться в одни и те же пиксели, вызывая некорректное затенение, странные вмятины, перевёрнутые детали или видимые артефакты.

Расположение швов здесь тоже важно. Размещайте швы там, где переходы карты нормалей наименее заметны: внутри суставов, под одеждой, под волосами, за аксессуарами или вдоль существующих жёстких рёбер. Избегайте размещения швов на больших видимых плоских поверхностях, если только дизайн уже не скрывает их.

Отступы также важны. Отступ — это пустое пространство между UV-островами. Без достаточного отступа смешение мипмапов может приводить к проникновению пикселей через границы островов, создавая тёмные края или цветовые артефакты в движке.

Общепринятая отправная точка — 4 пикселя отступа для текстур 2K и 8 пикселей отступа для текстур 4K. Увеличивайте отступ, если ассет будет просматриваться издалека, использует сильное мипмапирование или поставляется в игровом движке со сжатием текстур.

Если вы только что закончили ретопологию модели, используйте эту UV-развёртку для запекания карты нормалей. Рабочий процесс описан здесь без опоры на недоступную ссылку Brief.

Часто задаваемые вопросы

Как быстро выполнить UV-развёртку? Для твердотельных объектов и фоновых пропов используйте Smart UV Project в Blender через U > Smart UV Project. Это позволяет быстро получить рабочую развёртку. Для персонажей скорость достигается за счёт изучения стандартных мест размещения швов, тогда как инструменты на основе ИИ, такие как Tripo AI, позволяют пропустить ручную настройку UV, выдавая упакованные UV вместе с генерируемыми моделями.

В чём назначение UV-развёртки? UV-развёртка позволяет точно наложить 2D-текстурное изображение на 3D-поверхность без растяжения или смещения. Она создаёт плоскую карту поверхности модели, чтобы рендерер знал, какая часть изображения соответствует каждому полигону.

В чём разница между UV-маппингом и UV-развёрткой? UV-маппинг — это более широкий процесс назначения 2D-координат текстуры 3D-модели. UV-развёртка — один из методов создания UV-карты путём разрезания и разворачивания меша. Кубический маппинг, цилиндрическая проекция и трипланарный маппинг также могут создавать UV, но они не являются тем же самым, что ручная развёртка.

Каков процесс UV-развёртки? Базовый процесс: отметить швы, запустить операцию развёртки, проверить наличие растяжений, исправить искажённые острова, эффективно упаковать UV-острова и задать согласованную плотность текселей. Для запечённых ассетов оставляйте достаточно отступа между островами, чтобы избежать проникновения текстур.

Заключение

UV-развёртка — это мост между готовым 3D-мешем и текстурированным ассетом, готовым к производству. Расставьте швы правильно, сохраняйте плотность текселей единообразной, и ваши текстуры будут выглядеть чётко под любым углом. Пропустите этот шаг или допустите ошибки — и никакое увеличение разрешения текстуры не исправит результат полностью.

Если вы хотите полностью пропустить настройку UV для ассетов, созданных с помощью ИИ, Tripo AI Studio генерирует полностью текстурированные модели с включёнными упакованными UV-картами по текстовому запросу или референсному изображению за считанные секунды.

Смотрите Tripo AI Pricing чтобы выбрать план, подходящий для вашего рабочего процесса.

Поделиться статьей

Создавайте что угодно в 3D

Нажмите ниже, чтобы присоединиться к миллионам 3D-творцов. Попробуйте генерацию моделей сверхвысокой детализации и первоклассные PBR-текстуры.