Бесплатные 3D Модели

Моделирование фентезийного персонажа

Автор: Sam King

Сайт: artstation.com/sk3d

Использованные приложения: ZBrush, Marmoset Toolbag

Художник по персонажам Сэм Кинг из анимационной студии Triggerfish поделился процессом создания двух версий одного и того же персонажа.


В этом мэйкинг-оф я покажу как я создал две версии персонажа при помощи ZBrush и Marmoset. Всё было выполнено в triggerfish.

Шаг 01: Концепт арт

У меня были концепт от которых я должен был отталкиваться. Я попросил концепт художника дать мне определённые вырезки, чтобы я мог понимать, что я должен начать делать в ZBrush и Maya.

Концепт арт для двух персонажей

Шаг 02: Скульптинг

Весь скульптинг был выполнен в ZBrush. Я начинал каждый ZTool со сферы или бокса, а затем моделировал его формы при помощи DynaMesh. Я считаю, что моделировать твёрдые поверхности высоко-полигональных объектов таких как доспехи, лучше в традиционных 3d программах, поэтому эти элементы были смоделированы в Maya. Сначала я смоделировал их как высоко-полигональные объекты, а затем перекинул в ZBrush и детализировал их.

Кистями, которые я использовал больше всего в ZBrush для скульптинга больших форм, были Move tool, Clay Tubes, Clay, Trim Dynamic и Flatten. Для более мелкой детализации я использовал кисти Standard, Standard с альфами, Dam Standard, HPolish для сглаживания поверхностей и Orb_Cracks для вмятин и износа.

Такие детали как кольчуга, пуговицы и застёжки были сделаны при помощи альфа масок на вкладке surface в SubTool или же при помощи проецирования альфы кистью Standard. Крупные пуговицы были размещены при помощи кисти insert multi mesh. Такие вещи как сумки, щит и шлем были вылеплены отдельно, так что я мог сконцентрироваться на них в конце. Все они были объединены потом в финальный сабтул в конце процесса.

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

Для этого я сдублировал сабтул, применил ZRemesh, а затем сделал подразбиение пару раз. Используя project, я спроецировал скульпт DynaMesh на подразбитую версию, после чего я мог скульптить новый меш с большим разрешением и детализацией.

Грубый скульпт персонажа


Потом я вылепил небольшой кусочек земли, для презентации, так как не было концепт арта для этой части, я сделал пару зарисовок карандашом, чтобы определить шаблон. Потом я использовал тот же процесс, что и выше, грубые DynaMesh объекты для получения формы, а затем переход к ZTool для большей детализации и в конце ZRemesh, для низко-полигональной топологии и чистка в Maya.

На этом этапе я также запекаю карту дисплейсмента в ZBrush при помощи Multimap exporter. Это великолепный в использовании инструмент. Он создаёт очень качественные карты дисплейсмента, когда они вам понадобятся. Их можно использовать как карты высот для динамической тесселяции для геометрии земли в Unreal.

Скульптинг земли

Шаг 03: Ретопология и UV

Для ретопологии я использовал ZBrush и Maya, а для UV развёртки 3D-Coat и Maya. Для ретопологии меша я взял финальный ZTools, а затем понизил его до приемлемого результата ZRemesher. Поэкспериментировав достаточно с ZRemesher, вы можете добиться приемлемого результата, чтобы начать работать с ним в Maya. К сожалению, проблема спиралевидных петель всё ещё актуальна, но она уже меньше присутствует в текущей версии ZBrush r7. Кнопка adaptive size в ZRemesher может существенно изменить результат ZRemesh.

Инструмент ZRemesher guides tool позволяет рисовать свои линии топологии на меше, это очень полезно. Curves strength во вкладке ZRemesher позволяет контролировать насколько ZRemesher будет следовать кривым, которые вы нарисовали на меше при помощи ZRemesher guides tool. Если все что вы сделали не подходит, то есть альтернативный способ использовать ZRemesher. Зажмите Alt и нажмите ZRemesh и вы получите другой результат. Вы также можете нажать ZRemesher много раз, варьируя алгоритмами, если это необходимо, чтобы получить более сглаженный результат или меньшее разрешение.

После некоторых вариаций с ZRemesher я получил низко-полигональную топологию меша и затем почистил её в Maya.

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

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


Изначальным этапом при развёртке UV является 3D-Coat, который является по истине фантастическим инструментом, способный превратить процесс развёртки из занимающего несколько часов в несколько минут. Я в восторге от него. После развёртки в 3D-Coat, я переношу мешь обратно в Maya, и располагаю UV островки, обычно я поворачиваю их вертикально — как-то странно текстурировать их вверх-ногами.

Я также выделил приоритет для некоторых UV областей, например, лицо, щит и украшение на груди. Менее важные объекты, такие как случайные ремешки или нательное бельё, получили меньше UV пространства. Иногда мне приходилось тратить время на расстановку островков, чтобы они плотно прилегали в UV шаблоне. Это словно пазл, вы можете также использовать модификаторы nudge или lattice в UV layout Maya, чтобы заполнить неиспользованное пространство, но будьте осторожней, не слишком сильно растягивайте вашу UV. Проверяйте UV вашей модели при помощи материала в клеточку, это часто помогает определить нормально ли смотрится UV развёртка.

Модель персонажа имела два набора UV: один набор был для всех мягких материалов и был основан на шейдере Albedo/Spec/Roughness/Normal. Второй набор был для всех твёрдых поверхностей, главным образом металлов. Он был построен по принципу металлизированных материалов Albedo/Metalness/Roughness и карт нормалей:

Набор UV персонажа

Набор UV для земли

Шаг 04: текстурирование

Карты были запечены с высоко-полигональной модели на низко-полигональную при помощи XNormal. Первичными картами, которые были запечены и использованы для текстурирования были:

  • Карта нормалей — использовалась как карта нормалей, а также для генерации различных полезных карт, таких как карта детализации
  • Карта Ambient Occlusion — можно использовать в качестве карты контроля пыли/грязи в щелях и иногда добавлять к карте AO
  • Bent Normal Map — можно использовать для освещения в RGB каналах. Не стоит использовать эту хитрость слишком много в PBR шейдерах, это больше подходит для стилизации.
  • Curvature map — отлично подходит как альфа карта для применения таких эффектов, как «потёртые края»
  • Карта цвета вершин (для карты ID или любого PolyPainting, если используется)
    • Translucency map (только голова) — используется как карта толщины для SSS кожи

Текстуры были созданы в Photoshop, 3d-Coat и Quixel Suite. Большая часть текстур персонажа были 4k, а затем понижены до 2k для финальной игровой модели. Я использовал NDO из Quixel suite, чтобы отредактировать карты нормалей и curvature maps. При помощи конвертера карт в NDO я сделал серию карт деталей от общих до мелких из моей карты нормалей, которую я использовал как маску на слое со сплошным цветом, чтобы добавить эффекты, как например, потёртые края и грязь внутри трещинок, это были значительные и очень полезные карты.

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

Текстурные слои в Photoshop


Когда я создал основные текстуры в Photoshop и Quixel из различных запечённых карт, я перенёс PSD в 3D-Coat и добавил дополнительные детали, которые были нужны для того чтобы убрать швы на картах, включая карту нормалей. В будущем я думаю буду более активно использовать для этого Quixel или 3D-Coat, так как оба они имеют великолепные возможности для работы с PBR, но в данном проекте мне хватило Photoshop, а также этих немного и этих двух приложений.

UV мягких поверхностей

UV твёрдых поверхностей

Шаг 05: Изменение текстур на злую версию

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

  • Второй набор текстур и немного новых ассетов позволили получить злую версию персонажа
  • Новый шлем, наплечники и булава были вылеплены для новой злой версии, а также были созданы текстуры
  • Пара карт были обновлены, набор карт для металла доспехов, а также набор вещей для описанных выше ассетов
  • Основы карт ткани и кожи просто были подкорректированы или перерисованы, а геометрия осталась нетронутой

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

Две версии мягких поверхностей

Шаг 06: Настройка в Marmoset

Я настроил простейший риг в Maya, а затем импортировал персонажа с триангулированным мешем в Marmoset Toolbag 2. Большинство шейдеров были основаны на пресетах Quixel Suite в Marmoset, почему я и работал в Photoshop.

Доспехи и оружие были настроены при помощи металлизированного шейдера (metalness shader ) со своими собственными картами.

Кожа была наиболее сложным материалом, мне пришлось использовать шейдер кожи Marmoset, чтобы получить красивый мягкий эффект кожи на рендере. При создании кожи были использованы такие карты как Albedo, AO, Normal, Roughness и Spec, а потом ещё Subdermis, Translucency, и Fuzz. XNormal может запекать карту толщины и я использовал её как основу для моей карты Translucency. Она имитировала еле-прозрачные участки тонкой кожи в таких местах персонажа как уши, ноздри и веки.

1 Normal map
2 Gloss/Roughness map
3 Albedo map
4 Subdermis map
5 Thickness или Translucency map
6 Specular map
7 Ambient Occlusion Map

Освещение включало стандартный набор IBL с очень низкой интенсивностью, это было для основного заполняющего света. Был один основной источник света, установленный сбоку персонажа.

Четыре других источника света были добавлены как заполняющий свет или чтобы осветить части персонажа, которые было трудно рассмотреть. Эти источники часто имеют очень мягкие тени или не имеют вовсе. Потом в Unreal и Marmoset можно подключить другие источники света, но на данный момент этого хватит. Я подключил Screen space Ambient Occlusion, но с очень низкими настройками. Я также добавил немного румянца и виньетирования, но я хотел, чтобы ассеты говорили сами за себя, поэтому значения оставил очень слабые.

Окончательный рендер в Marmoset

Ниже показаны финальные скриншоты доброй и злой версии персонажа в Marmoset Toolbag.

Без шлема

Со шлемом

Финальная презентация в Unreal Engine 4

Персонаж также был помещён в Unreal Engine 4, чтобы посмотреть, как он будет выглядеть на движке. Я также добавил землю, которую сделал ранее, чтобы поставить персонажа. Размножив траву на земле в UE4 я применил карту дисплейсмента для земли с адаптивной тесселяцией.

Злой персонаж во всеоружии

Земля для персонажа

Вид сзади двух персонажей

Шаг 09: Вывод

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

- Фагри Конрад и Руан Елс — которые помогли мне в моделировании/скульптинге и текстурировании оружия.
- Линтон Левенгуд — за отличные концепт арты.
- Пол Ломбард — за наставничество по поводу рига и Unreal Engine.
- Triggerfish — мы делали эти тесты в студии, спасибо за предоставленные возможности.

Спасибо, что прочитали этот туториал. Если у вас есть какие-либо вопросы или неясности, обращайтесь на почту: samking3d (at) yahoo.co.uk
Удачи!
Sam King

Злая версия

Оригинальная добрая версия

Урок был взят и переведён с сайта: 3dtotal.com.