XYZ Media

Ретопология стилизованного персонажа

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

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

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


План статьи:

  1. Что такое ретопология
  2. Экспорт скульпта из ZBrush
  3. Ретопология в Maya
  4. Нюансы ретопологии
  5. Чек-лист по ретопологии
  6. Особенности ретопа стилизованных персонажей
  7. Технические моменты при ретопе персонажей
  8. Какие этапы идут после ретопологии


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


Что такое ретопология

Ретопология — это этап пайплайна, когда мы берем скульпт с большим количеством полигонов (многоугольников) и уменьшаем до 20 — 80 тысяч полигонов — это среднее ограничение по полигонам в современных геймстудиях.

Мы уже сделали скульпт нашего персонажа:
Скульпт персонажа
Чтобы программы для моделинга открывали модель персонажа без тормозов, нам нужно сокращать количество полигонов. Например, у нашей модели вышло 7 млн полигонов, из-за чего он не открылся в Substance Painter:
У нашего скульпта более 7 миллионов полигонов
Для того, чтобы упростить модель и сделать меньше полигонов нам нужно создать легкую lowpoly. Lowpoly — это модель с низкой детализацией и низким количеством полигонов. Наша задача уложиться в 20 — 80 тыс полигонов на всего персонажа. Если полигонов будет больше, то в игре будут лаги.

Когда lowpoly готова, нам нужно перенести детализацию со скульпта (highpoly) на легкую lowpoly модель. Мы это делаем при помощи карты Normal Map. На этой карте показано как свет падает на модель и какой получается при этом блик. Если мы перенесем Normal Map с highpoly на lowpoly, то создастся световая иллюзия, будто на lowpoly появилось куча деталей. Но при этом количество полигонов останется 20 — 80 тыс.
На lowpoly куб наложили Normal Map highpoly куба и получился легкий детализированный lowpoly куб
Мы разобрались что такое lowpoly и для чего она нужна, а теперь давай разберемся как ее сделать и начнем с ретопологии.


2. Экспорт скульпта из ZBrush

Открываем скульпт в программе Zbrush:
Наш скульпт в ZBrush
Для наглядности мы покажем процесс ретопологии на примере шлема, а затем рассмотрим особенности ретопа и других элементов стилизованного персонажа.
Шлем который будем ретопить
Во время скульпта у нас получилось много полигонов. Это нормально, потому что на этапе скульпта нужно передать форму и стилистику персонажа. Но сейчас нужно проверить геометрию и оптимизировать модель.

Сначала ищем зазоры в местах стыков двух разных элементов:
Такие зазоры нужно убирать
Чтобы не создавать лишних полигонов лучше прижать ремешок к поверхности:
Главное не забудь сохранить изменения всех правок.

Перед тем как пойти дальше, необходимо покрасить модель в разные цвета, чтобы запечь их потом в ID Map.

Карта ID нужна, чтобы мы могли выделить разные элементы модели, когда будем текстурить. Например, чтобы можно было выделить только рога на шлеме и наложить текстуры только на них, а не на всю модель. Когда будем ретопить, то вся сетка будет единой и тогда выбрать только рога на шлеме уже не получится. Потому разделяем объекты и красим в разные цвета в Zbrush. Все похожие детали = одинаковый цвет.

Цвета могут быть любыми, главное чтобы они были контрастными и отличались друг от друга.

Для этого:

— Берем кисть “Move”, жмем кнопку “Y”, чтобы переключиться на линейку;
— Жмем “CTRL + Shift”;
— Ведем курсор к границе с другим объектом;
— Так выберется тот объект, на который мы кликали.
Потом назначаем ей любой цвет во вкладке “Color”:
Для этого жмем “CTRL” и жмем на пустое пространство:

Таким же образом красим все элементы в разные цвета:
Это и есть highpoly нашей модели. Сохраняем его в отдельный файл в формате .obj. С него будем запекать все необходимые карты на этапе запечки.


Готовим модель к ретопологии

Шлем, рога и тряпка на шлеме были созданы из разной геометрии. Чтобы дальше было проще работать с моделью, давай объединим все в одну топологию.

Шаг 1: Объединяем все элементы в одну сетку

Для этого используем функцию “Dynamesh”:
Tool => Geometry => Dynamesh
Геометрия объединилась, но мы потеряли детализацию. Поэтому подбираем подходящее разрешение (Resolution), чтобы ее сохранить:
После того как объединили геометрию работать в Maya стало проще.

Но в Zbrush плотная сетка. Только у шлема более 800 тыс точек, а у всего персонажа их 7 млн, Maya скорее всего не сможет открыть такой файл.

Шаг 2: Убираем лишние полигоны

Вкладка Zplugin => Decimation Master пересчитывает сетку и убирает лишние полигоны. Используем функцию “Pre-process Current”:
Функция Decimation Master -> Pre-process Current
После этого указываем сколько полигонов хотим оставить:
Так у нас осталось 43 тыс полигонов, а формы сохранились. Сейчас такое количество полигонов нас устраивает, потому что после ретопа в Maya их останется еще меньше.

Жмем Tool => Export и сохраняем в формате .obj

Подготовка модели к ретопологии в Zbrush на этом этапе заканчивается.

3. Ретопология в Maya

Если модель при импорте расположилась странно, то такое нужно исправлять.
Модель лежит не той оси
Такое происходит из-за того, что у разных программ есть разное понимание верха модели.

Чтобы это исправить, заходим в настройки: Preferences => Settings => World Coordinate System = 'Y'
Теперь модель расположена нормально
Теперь нужно нажать на "магнитик", чтобы модель нельзя было выбрать или редактировать, а новые полигоны лежали на поверхности:
Жмём на магнитик, чтобы запретить редактирование модели
После этой функции программа понимает, что это та поверхность, на которую мы будем назначать новую топологию.

Нам понадобится несколько инструментов для работы с топологией. первый инструмент это окно “Modeling Toolkit”. Внутри него нас интересуют 4 кнопки в разделе “Tools”:
4 инструмента, которые нужны для ретопологии
Когда модель заблокирована, если мы нажмем во вкладке Modeling Toolkit => Quad Draw, то все созданные вертексы будут лежать на поверхности модели:
Если развернуть вкладку Modeling Toolkig => Keyboard/Mouse Shortcuts, то мы увидим список всех горячих клавиш, которые сократят время нашей работы:
Список горячих клавиш для ретопологии
Теперь наша задача — создать новую сетку поверх текущей, с минимальным количеством полигонов. В этом поможет функция “Quad Draw”.

Благодаря этой функции мы можем создавать точки и объединять их, чтобы получились новые полигоны. Программа подсвечивает точки из которых создается полигон, если зажмешь “Shift”. Жмем левой кнопкой мыши, чтобы создать такой полигон:
Если нажать на сам вертекс, то можно изменить его положение:
Если выделить конкретный Edge (ребро) и зажать “D”, то можно создать новый полигон, который будет прилегать к выбранному ребру. Эта функция называется “Extend”:
Все новые точки и полигоны крепятся к нашей модели и повторяют ее форму.

Если навести на полигон и зажать “CTRL”, то можно создать внутри полигона новый эдж:
Если нажать “CTRL + Shift” и выделить эдж, то он удалится:
Прежде чем мы начнем создавать полигоны, давай определимся, какие части модели у нас симметричны. В нашем случае можно сделать ретопологию правой части шлема, затем скопировать ее, потом отразить и доработать.
Находим симметрию у модели, если она есть
💥 Курс «Styl» для тебя, если хочешь моделить таких же персонажей
Узнаешь, как устроен пайплайн разработки стилизованных персонажей в больших игровых студиях. Научишься делать скульпт, риг и анимацию. А в конце создашь полноценного «живого» персонажа, который дышит, двигается и вселяет трепет во врагов. Курс можно взять в рассрочку.
4. Нюансы ретопологии

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

Итак, начинаем:
Для стилизованных персонажей хорошая практика использовать lowpoly сетку с ровными прямоугольными полигонами (квадами).
Пример квадов
Вот пример, как делать не стоит:
Полигоны кривые, разного размера
Слишком вытянутые и кривые полигоны, разного размера — плохая практика. Игровые движки плохо воспринимают их.

Вот еще один плохой пример:
Так тоже не правильно
Если видишь, что на важных деталях нужны мелкие полигоны, то создавай их, чтобы не потерять форму. Например, нужно добавить деталей на нашем шлеме:
Дальше создаем больше полигонов с функцией “Quad Draw” и “Multicut”:

В таких местах разбиваем полигоны на треугольники:
Плохой пример
Делается это вот так:
Хороший пример
Выравниваем сетку

Полигоны должны повторять форму исходной геометрии. Если видишь, что линия неровная, то жми “Shift” и эта функция поможет выровнять сетку:
Сложные места разбиваем на более мелкие полигоны:
Работа с острыми углами

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

В подобных местах мы видим, что наша сетка выходит за пределы геометрии.
Такие моменты будут плохо выглядеть при запекании
Чтобы избежать проблем при запечке добавляем несколько новых полигонов. Так мы лучше повторим исходную форму:
Завершение ретопологии шлема

Ретопологию шлема мы закончили, сетка выглядит вот так:
Точно таким же образом, делается ретопология и всего нашего персонажа.
Вот его lowpoly:
Слева — модель после Decimation, а справа — модель сделанная в Maya
5. Чек-лист по ретопологии

Подведем итоги. Сохрани чек-лист, чтобы не потерять.

Этап 1: Подготовка в ZBrush

— Прижимаем геометрию;
— Красим модель в разные цвета для ID Map;
— Сохраняем модель в формате .obj;
— Объединяем геометрию через “Dynamesh”;
— Убираем лишние полигоны через “Decimation Master”;
— Сохраняем версию модели после “Decimation” в формате .obj;
— При ретопологии используем именно эту версию модели (после “Decimation”).

Этап 2: Создание lowpoly модели

— Жмем на "магнит", чтобы заблокировать модель;
— Создаем новую сетку поверх текущей. Используем для этого Modeling Toolkit => Tools;
— Сохраняем lowpoly модель.


6. Особенности ретопа стилизованных персонажей

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

Вот 2 прямоугольника, один состоит из 2 частей, другой — из 4:
Давай согнем оба прямоугольника посередине:
А теперь давай посмотрим, что получилось:
Приглядись и увидишь, что геометрия, где было меньше полигонов, деформировалась сильнее. Такая особенность анимации влияет на ретопологию нашего персонажа. Например, на складки шмоток. Присмотрись к этой ретопологии ткани:
Скульптим складки
Мы сделали складки треугольниками, чтобы они лучше повторяли форму исходной геометрии. В сетке такни примерно одинаковое количество лупов на складках, что и на ногах. Обрати внимание, что полигоны на складках находятся примерно на той же горизонтали, что и полигоны на ногах:
Чтобы при анимации не было глюков, нужно располагать элементы модели с горизонтальными линиями на одном уровне. Ноги и ткань будут деформироваться примерно схожим образом и не будут сильно пересекаться.

Кости и пальцы

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

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

Мышцы

Полигоны должны повторять форму мышц с легко читаемыми линиями:
Ретопим мышцы груди
Мы добавили маленькие полигоны в нижней части мышцы (точка 1).
А в середине груди, мы сделали сетку из треугольников (точка 2). Так при повороте корпуса персонажа влево или вправо, модель не исказится.

Лицо

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

У нашего персонажа все гораздо проще, потому что у него высокая степень стилизации и низкая степень реализма. Из-за этого сетка простая и без лишних заморочек.
Сетка лица нашего персонажа
Но даже с такой простой сеткой лицо хорошо анимируется:
7. Технические моменты при ретопе персонажей

Разберем технические нюансы при ретопологии:

Триангуляция

Шаг 1: Создаем lowpoly. Она получилась с квадами, а в некоторых местах с треугольниками. Эту версию lowpoly отправляем аниматору. С квадами ему будет проще работать.

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

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

Аниматор привязывает к "костям" вертексы. Чтобы это сделать нужна сетка из квадов, на которой есть лупы полигонов. В случае с ногой персонажа, это вертикальные или горизонтальные линии:

Давай сравним, как будет выглядеть модель из квадов и как из треугольников:
Сравни как выглядит геометрия из квадов и треугольников:
Слева — только треугольники. Справа — квады, плюс пара треугольников
Пробегись глазом по сетке и попробуй провести горизонтальную линию. Геометрия из треугольников читается сложнее. По этой причине трехмерщики делают персонажей из прямоугольников. Там где нужны треугольники и квадраты мы их добавляем, но основной "строительный материал" lowpoly сетки — прямоугольники.

Единая геометрия

Мы объединили геометрию персонажа в одну топологию, но шлем, меч и другие атрибуты сделали отдельной сеткой. Мы сделали так, потому что знали, что моделим персонажа для демонстрации работы. Еще можно разделять топологию моделей, если в игре используют разные скины брони, шлемов, оружия. Например, так в Team Fortress меняются шапки, а в PayDay 2 маски.

Задние стенки

Если делаешь ретоп шлема, то не нужно делать сетку внутри. Камера в игре все равно не покажет эту часть модели, потому мы экономим полигоны и время.
Внутреннюю часть не нужно делать, если её не видно в игре
Софт для ретопологии

Можно использовать любую удобную для тебя программу.
Мы создавали персонажа в Maya, но также для ретопа используют:

— 3Ds Max
— Blender
— 3D Coat
— Topogun

Принцип работы одинаковый везде. Меняется только интерфейс и название функций.

Если у тебя нет программы Maya или ты не знаешь как ей пользоваться, то заглянь на наш бесплатный курс Intro 3D. На этом курсе мы учим как пользоваться основными программами для 3D: Maya, Blender, Photoshop и Substance Painter. На курсе в разделе “Полезные материалы” ты найдешь ссылку на скачивание Maya и остальных программ. Если пройдешь Intro 3D, то ты не только поймешь как работать в них, но и создашь модель микрофона и канистры. Так что переходи на курс и учись работать в 3D-программах.


8. Какие этапы идут после ретопологии

После ретопологии, следующий этап пайплайна — развертка (UV).
А после развертки мы будем запекать детализацию с highpoly на lowpoly.

Styl. Создание стилизованных персонажей
Научись создавать стилизованных персонажей, ставить их в динамичные позы и внедрять в Unreal Engine. Преподаватели — профи. Среди них Senior 3D-художник в Riot Games и эксперт, который разрабатывал Doom Eternal и Darksiders 3.
Работа студента pabbo
Курс

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