XYZ Media

(UV) Развёртка стилизованного персонажа

Это 4 статья из цикла про создание стилизованных персонажей. Вот ссылки на все пять, выбирай ту, которая тебе нужна:

  1. ААА-пайплайн создания стилизованных 3D-персонажей.
  2. Как выглядит скульпт в ZBrush от первого лица. Полезные кисти и инструменты.
  3. Чек-лист по ретопологии в Maya. Особенности ретопа стилизованного персонажа.
  4. Как легко сделать UV-развертку 3D-модели. Чек-лист по развертке в Maya.
  5. Запечка стилизованного персонажа по ААА-пайплайну. Как запечь low poly модель.

Эта статья будет полезна тем, кто хочет узнать что такое развертка и научиться применять ее для создания стилизованных персонажей. Ты разберешь основные инструменты для работы с разверткой, научишься делать разрезы на UV, работать с чекером и исправлять потяги, оптимизировать UV шеллы и многое другое. Будь готов выделить на статью не меньше 15 минут. Если возникнут вопросы или что-то будет непонятно, то пиши в чат-бот (кнопка справа внизу). Там на связи менеджер поможет разобраться. Ну что, давай начнем!


Что такое развертка и зачем она нужна?

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

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

Важно: развертку всегда создают из лоуполи модели, которую мы сделали на прошлом этапе — ретопологии.

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

Удобнее всего делать развертку в Maya, но принцип работы универсален для всех аналогичных программ. Везде есть автомапинг, разрезы и чекер. Если хочешь максимально быстро разобраться в интерфейсе Maya и сделать свою первую 3D-модель, присмотрись к нашему бесплатному курсу Intro 3D.

Сегодня, для работы в Maya нам понадобитсявкладка UV Editor и UV Toolkit.

Мы сделаем все этапы развертки на примере шлема персонажа, а в конце статьи разберем особенности развертки других элементов.

UV Editor и UV Toolkit в Maya

Авторазвертка

Авторазвертка нужна, чтобы наши полигоны появились на рабочем поле. Проще всего это сделать при помощи автоматической развертки с опцией Camera-Based.
Camera-Based развертка
Получаем такой результат:
Пока что это совсем не похоже на развертку, ведь мы еще не разложили модель на плоскость. Для этого нужно добавить швы (разрезы на UV).


Разрезы на UV

Вот как можно создать разрезы:
Выделяем Edge, открываем UV Toolkit -> Cut and Sew -> Нажимаем Cut
Кнопка Cut
Существует 3 основных правила, в каких местах нужно делать разрезы (швы). Давай подробно разберем каждое из них:

1. Швы в незаметных местах

Ты можешь разрезать модель в любом месте. Но уже на следующем этапе пайплайна начнутся проблемы. На местах разрезов на UV могут появится некрасивые полоски на карте нормалей и в игровых движках. Модель будет некрасиво шейдить, поэтому хорошие трехмерщик всегда стараются разрезать модель в самых незаметных местах.

Помни, что мы моделим персонажа для компьютерной игры, поэтому по возможности прячь швы в местах, которые игрок не увидит:
Прячем швы на UV
Есть проблема: форма рога основана на цилиндре. Так или иначе нам нужно добавить хотя бы один разрез, чтобы разложить его на плоскость. Этот разрез мы делаем снизу, потому что игрок чаще всего будет видеть персонажа или спереди, или сзади.

В этом месте разрез на роге почти не видно:
2. Швы в местах, где есть Hard Edge

Тут все просто: везде, где есть хард — добавляй шов. Так у тебя будет меньше проблем при запечке.
Добавляем швы на Hard Edge
3. Швы на стыке двух разных материалов

В нашем примере, на рогах есть тряпка. В процессе текстурирования мы покрасим ее другим материалом. Для этого на стыке материалов нужно сделать разрез. Тогда, в программе для текстурирования можно будет легко сделать отдельную текстуру для этой тряпки.
Разделяем разные материалы швом
Раскладываем модель на плоскость

Авторазвертку мы сделали, швы тоже. Пришло время разложить нашу модель на плоскость. Для этого используем функцию Unfold. Она разделит модель на несколько отдельных UV шеллов в местах, где есть швы.
Функция Unfold
Теперь полученные UV шеллы поставим на расстоянии друг от друга:
Добавляем чекер

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

Давай добавим чекер, и посмотрим есть ли потяги. Потом будем исправлять.
У нас появилась новая проблема — квадраты чекера разного размера. Это значит, что разрешение текстур на финальной модели тоже будет меняться. Там где квадраты маленькие — будет высокое качество текстур, а где большие — низкое.
Сделать квадраты чекера одного размера можно двумя способами:

1. Автоматический способ

Maya сама может выровнять размер квадратов. Для этого нажимаем клавишу Shift и жмём на кнопку Layout. Всплывает окно с настройками — выбираем Preserve 3D Ratios и нажимаем Apply.

Результат:
Квадраты одного размера
2. Альтернативный способ

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

Для этого:
1. Выбираем элемент с нужным размером квадратов чекера, нажимаем UV Toolkit → Tools → Texel Density → Get.
2. Выбираем все остальные элементы модели, нажимаем кнопку Set.
Теперь квадраты одного размера, но в некоторых местах они искажены, значит на развертке есть потяги.
Пример потягов на UV
Исправляем потяги

Слегка поворачиваем UV шеллы, чтобы выровнять чекер:
Добавляем дополнительные швы и нажимаем Unfold. Одного прохода недостаточно, поэтому мы добавили разрезы в трех разных местах шлема:
Первый шов
Второй шов
Третий шов
Теперь все квадраты ровные, значит потягов больше нет. Можем двигаться дальше!
💥 Курс «Styl» для тебя, если хочешь моделить таких же персонажей
Узнаешь, как устроен пайплайн разработки стилизованных персонажей в больших игровых студиях. Научишься делать скульпт, риг и анимацию. А в конце создашь полноценного «живого» персонажа, который дышит, двигается и вселяет трепет во врагов. Курс можно взять в рассрочку.
Оптимизируем UV шеллы

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

1. Мапим длинные шеллы в прямую линию

Как ты помнишь, на рогах есть тряпка. Она примерно прямоугольной формы, но программа автоматически развернула ее вот так:
Если на ткани будут складки или фактура — текстура исказится и криво ляжет на модель. Чтобы избежать этого, попробуй мапить подобные шеллы в прямоугольники.

Для этого выбираем крайний вертекс в UV редакторе, зажимаем клавишу B, выбираем соседние элементы и опускаем вниз:
Теперь нужно выпрямить эти шеллы. Выбираем их и включаем функцию UV Toolkit → Unfold → Straighten UVs:
В этом примере мы выделили не весь шел, а его часть, потому что функция Straighten UVs не любит треугольники — они сильно искажаются. Треугольники так мапить нельзя, поэтому мы выпрямляем этот шел по частям, не трогая треугольник.
Проверяем этот кусок на потяги, видим, что квадраты чекера стали неровными:
Чтобы это исправить, немного смещаем эджи на UV:
По такому принципу мы будем мапить все аналогичные элементы модели.

2. Шеллы не должны пересекаться

Если шеллы пересекаются — появятся артефакты на текстурах. Следи, чтобы такого не происходило:
3. Шеллы должны быть на расстоянии друг от друга

Нельзя мапить объекты на UV вплотную друг к другу. Они должны быть на небольшом расстоянии друг от друга — это называется паддингом.

Вот пример:
4. Кладём шеллы в первый квадрат UV

Есть 2 вида мапинга: тайловый и уникальный. Тайловый мапинг используют в основном для зданий и предметов окружения, а уникальный — для стилизованных персонажей.

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

Как это сделать?
Выбираем все шеллы и нажимаем UV Toolkit → Arrange and Layout → Layout.
Как видишь, программа положила все шеллы внутрь первого квадрата, но теперь в нем слишком много пустого пространства. Чем больше места занимают шеллы, тем выше будет разрешение текстур у финальной модели.

Есть еще одна автоматическая функция, которая исправляет грехи предыдущей. Находится она в Layout UVs Options.
Настройки функции
Но и эта функция не даёт идеального результата, плюс довольно долго грузится:
Теперь между шеллами почти нет неиспользованного пространства, зато оно есть сверху. Именно поэтому опытные моделлеры не очень любят автоматические функции. Пока что есть только один инструмент, который позволяет идеально разложить шеллы внутри первого квадрата — твой мозг. С каждым разом получаться будет всё лучше и лучше.

Помни, что сейчас ты видишь только развертку шлема, а нужно сделать развертку всего стилизованного персонажа. Потом уместить в первый квадрат нужно будет не только шлем, но и все другие элементы.


Развертка других элементов стилизованного персонажа

1. Все ремешки и тряпки мапим в прямую линию.
2. Все шеллы лежат внутри первого квадрата UV. Потому что мы делаем уникальный, а не тайловый маппинг.
3. Повторяющиеся элементы делаем оверлапами. Поскольку эти элементы идентичны, мы мапим их вместе и тем самым экономим место на UV.
Если хочешь подробно узнать про оверлапы, смотри это видео:
4. Делаем финальную проверку развертки. Включаем функцию UV Distortion, тогда развертка синим цветом покажет самые сжатые полигоны, а красным — растянутые: Если модельгорит как светофор — нужно переделывать.

5. Проверяем, что все швы спрятаны.
Другие полезные функции

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

Сшивание

Если ты сделал лишний разрез, можешь обратно сшить выбранные шеллы — выбери их и нажми Sew.
Optimize

Эта функция автоматически оптимизирует выбранные точки на UV.
Flip

Позволяет отразить UV шелл.
Отлично, теперь ты знаешь все основные функции и сможешь самостоятельно сделать развертку стилизованного персонажа! Чтобы ничего не забылось, лови чек-лист по развертке:


Чек-лист по развертке

  1. Включаем Camera-Based авторазвётрку
  2. Делаем разрезы на UV
  3. Добавляем чекер, выравниваем
  4. Убираем потяги
  5. Оптимизируем шеллы
  6. Раскладываем все шеллы внутрь первого квадрата
Styl. Создание стилизованных персонажей
Научись создавать стилизованных персонажей, ставить их в динамичные позы и внедрять в Unreal Engine. Преподаватели — профи. Среди них Senior 3D-художник в Riot Games и эксперт, который разрабатывал Doom Eternal и Darksiders 3.
Работа студента pabbo
Курс

Понравилась статья?
ХОЧЕШЬ ПОЛУЧАТЬ ЛУЧШИЕ СТАТЬИ
ОТ XYZ РАЗ В НЕДЕЛЮ?
Подпишись на рассылку XYZ
Нажимая на кнопку, вы соглашаетесь с условиями обработки данных