Making Of "Волк - рыцарь"
Всем привет! Меня зовут Маргарита Юхненко, и я 3D-художник по персонажам. В этой статье я хочу поделиться своим опытом работы над проектом «Волк-Рыцарь» и расскажу об этапах и сложностях, возникших в процессе. Этот персонаж был создан без концепта, на основе общей идеи и конкретного исторического периода (XIII–XIV века), на который я ориентировалась в работе. Я расскажу об этапах работы, трудностях, с которыми столкнулась, и решениях, которые помогли мне завершить проект.
Идея и вдохновение
Я начала работать над этим персонажем, чтобы изучить создание доспехов. Меня очень привлекают сложные персонажи, выполненные в стилистике реализма и семи-реализма. Захотелось создать рыцаря в достаточно целых, но в то же время немного поношенных латах, богато украшенных узорами. Поскольку моим первым 3D-персонажем был антропоморфный волк, эта работа также стала для меня своеобразной отметкой, чтобы оценить свой прогресс за прошедшие три года.
Для работы над проектом я использовала следующие программы:
- PureRef — для организации референсов.
- ZBrush — для скульптинга и детализации.
- Maya — для ретопологии и создания основы для шерсти в XGen.
- RizomUV — для UV-развертки.
- Marmoset Toolbag и xNormal — для запечки.
- Substance 3D Painter — для текстурирования.
- Unreal Engine 5 — для рендеринга и финальной презентации.
Блокинг
Важным для меня на этом этапе было сохранить функциональность брони и красоту дизайна. Персонаж должен был выглядеть как королевский рыцарь, но в то же время как воин, способный участвовать в битвах.
Я стараюсь начинать каждого своего персонажа с условного шара или цилиндра для отработки практических навыков. Здесь работа также началась с блокинга в ZBrush, и изначально результат меня не устраивал: волк получался недостаточно серьёзным, хилым и больше похожим на шакала.
На этапе блокинга важно проработать три основных элемента, которые делают персонажа выразительным: объем, форму и силуэт. Я сосредоточилась на определении роста волка, его телосложения, пропорций — как в броне, так и без неё.
Низкий полигонаж доспехов на этом этапе позволяют легко менять форму деталей на этапе блокинга, поэтому я везде использовала динамический сабдивижн.
Поскольку этот проект создавался для практики, я проработала даже ту анатомию, которая не будет видна под доспехами, но при этом не стала уделять внимание мелким морщинам и порам, так как они скрыты под шерстью.
Мне нравится, когда у модели во время работы видны глаза. Для создания эффекта «живого взгляда» отлично подходит стандартный материал Chrome — я использовала ChromeB.
Детализация
У моего персонажа есть повторяющиеся элементы. Чтобы сэкономить время, я создала IMM-кисть в ZBrush и просто расставила нужные детали. Однако столкнулась с проблемой: UV-развертка для IMM-мешей не сохранилась. В итоге пришлось делать развертку заново и вручную подгонять отретополенные элементы под high-poly, чтобы сохранить объемные заклёпки.
На этапе планирования я решила не делать узоры на high-poly (поскольку для чётких узоров требуется огромное количество полигонов), а перенести их на текстурирование. При этом я добавила более крупную детализацию на броню — сколы, царапины, повреждения, чтобы придать персонажу «историю» и облегчить текстурирование.
Основу для доспехов я создала с помощью экстракта из модели, затем поправила форму с помощью Slice Brush, добавила Crease на края и сделала ZRemesh с включёнными опциями Keep Creases и Keep Groups (если у элемента больше одной полигруппы).
Детализировать элемент гораздо удобнее, когда топология максимально чистая и аккуратная, поэтому я всегда выполняю эти шаги для достижения оптимальной сетки. Обычно она получается достаточно плотной, но сохраняет все важные формы. Поскольку я не использую ZRemesher для финального low-poly, мне не важно сохранять сильную низкополигональность в процессе работы.
Ретопология
Ретопология — это важный этап в создании 3D-персонажей. Хорошая топология обеспечивает правильное распределение полигонов, что критически важно для анимации. Чистая сетка позволяет персонажу двигаться естественно, без искажений (например, складок или артефактов на коже или одежде). Кроме того, она упрощает текстурирование: ровная и аккуратная сетка помогает лучше разложить UV и эффективнее использовать текстурное пространство.
Ретопология была выполнена в Maya с использованием инструмента Quad Draw, что позволило создать чистую и оптимизированную сетку. Ключ к хорошей топологии — поддерживать плотность полигонов как можно более равномерной по всему персонажу. Секрет в том, чтобы совмещать вершины там, где меши находятся близко друг к другу, избегая пересечений геометрии.
Этот подход позволил:
- Сохранить чёткий силуэт — внешние контуры модели остались гладкими и детализированными.
- Оптимизировать внутреннюю часть — уменьшение полигонов внутри модели снизило общий полигонаж без ущерба для качества.
- Улучшить топологию — треугольные «вееры» помогли сохранить плавные переходы между участками с разной плотностью полигонов.
Такой метод особенно полезен для круглых или сложных форм, таких как доспехи, где важно сохранить геометрическую точность, не перегружая модель лишними полигонами.
Текстурирование
Чтобы упростить текстурирование, я старалась держать развертку максимально прямой, поэтому все возможные шелы были выровнены в RizomUV.
Я начала с создания чистых материалов без потертостей и повреждений — так проще оценить базовые цвета, а потом добавить «историю». Сравнивая текстуры с референсом, я добавляла слой за слоем грязь, масляные разводы, царапины и другие детали.
Важно не увлекаться этим процессом чрезмерно. Когда я работала над металлом, то добавила слишком много слоёв, которые, как оказалось, почти не влияли на внешний вид, но делали материал излишне «грязным». После удаления половины слоёв и настройки оставшихся результат стал значительно лучше.
Очень сложно оценить качество текстур, пока не поместишь их в движок, поэтому я создала сцену в Unreal Engine почти сразу после создания базовых материалов в Substance Painter. Потребовалось несколько итераций, прежде чем результат меня устроил. Я хотела сделать доспехи более поношенными, чем на референсе: слишком блестящий и начищенный металл выглядел недостаточно «боевым».
Есть разные способы переноса текстуры на модель. Я хотела использовать xNormal для запечки текстуры на low-poly: сделала базовую текстуру орнамента и попыталась перенести её на развертку, но качество оказалось низким, а узор — нечётким.
Тогда я решила создать отдельный меш для орнамента, который идеально повторял бы форму модели, но имел прямую развертку для тайловой текстуры.
Очень важно, чтобы декали совпадали по топологии с сеткой, на которую они накладываются, особенно при риггинге. Если топология не совпадает, это может привести к:- Проблемам с деформацией: декаль будет некорректно двигаться при анимации, вызывая артефакты.
- Искажению UV: декаль может выглядеть деформированной или смещённой.
Чтобы текстуры не выглядели слишком тёмными, я проверила их через фильтр PBR Validate. Я не заметила это при создании модели, но сейчас я вижу что перчатки в районе ладоней вышли немного чересчур темными и отображаются оранжевым цветом.
При правильном подборе цветовой гаммы весь меш должен быть зеленым.
Мех
Основу для меха я создала в XGen, настроив плашки нужной формы, затем экспортировала их как OBJ-файл и запекла на плоскость в Marmoset Toolbag. Поскольку я хотела избежать однотонности меха, мне помог туториал по переносу текстур с тела волка на шерсть.
Для расстановки шерсти я использовала аддон CG Curve Tool для Maya. В нём довольно легко разобраться, если следовать официальному туториалу разработчика:
Так как я предпочитаю XGen, то мне показалось удачным решением сначала расставить базовые гайды, затем конвертировать их в кривые и уже по этим кривым разместить плашки.
Освещение и рендер
С самого начала я представляла персонажа в ночном освещении — таинственном, с глубокими тенями и резкими контрастами. Это и стало отправной точкой для работы со светом.
Сочетание базовой 3-точечной схемы (ключевой, контровой и заполняющий свет) с дополнительным детализированным освещением и HDRI позволило усилить как атмосферность, так и реалистичность сцены.
Такой многокомпонентный подход подчеркнул текстуры и черты персонажа, сохранив при этом его настроение.
Для создания более блестящей и интересной брони брони использовала Sphere Reflection Capture в Unreal Engine, следуя документации.
- Выбрала холодную цветовую гамму
- Добавила движущиеся элементы: летящий снег и шерсть, колышущуюся на ветру
Шейдеры
Большинство шейдеров (кроме шерсти, травы и глаз) я создавала с нуля, используя бесплатные туториалы с Youtube.
Очень интересной оказалась работа с движущимся туманом и переделка шейдера шерсти на основе движущейся травы от Megascans и создание динамического снега на основе положения объекта. Есть довольно много разных плагинов для Unreal Engine для создания тумана и снега, но моей целью было научиться делать простые вещи самостоятельно, поэтому я сознательно избегала готовых плагинов для снега и тумана, чтобы разобраться в основах.
Для снега мне понравился этот туториал.
Он очень простой и понятный для новичка.
Не помню каким туториалом я пользовалась для создания тумана, но там все довольно просто.
Заключение
Персонаж получился таким, каким я его задумывала, теперь думаю, что готова к большему. Я достигла всех поставленных целей в работе, однако не все вышло на 100% так, как задумывалось, мне предстоит ещё многому научиться и следующий проект должен стать более сложным вызовом.