Making Of "Dragon Knight"

Всем привет! Меня зовут Никита Васильков. Мне 24 года. Работаю 3д художником в 1518 Studios. В CG с февраля 2021.

Моё фото.jpg

В этом мейкинг офе я расскажу, как создавалась работа “Dragon Knight” и постараюсь затронуть как базовые моменты, так и некоторые фишки, которые будут полезны не только новичкам, но и возможно более опытным художникам. Также хочу поблагодарить Render.ru за предоставленную возможность поделиться знаниями.

Фото1.jpg


Что ж, давайте приступать!

В создании персонажа использовался базовый пак софта:
Скульптинг: Zbrush
Моделинг: Maya, Marvelous Designer
Ретопология: Maya
UV: Maya, RizomUV (упаковка)
Бейк: Marmoset
Текстуринг: Substance Painter
Волосы: Fibershop (текстуры), GS Curve Tools (плагин Maya для расстановки плашек)
Рендер: Marmoset

Далее подробно разберём каждый из этапов и рассмотрим, как использовался перечисленный софт.

Предисловие:
На всю работу под ключ у меня ушло около двух с половиной месяцев по вечерам после основной работы, из которых месяц ушел на волосы, так как я хотел основательно прокачаться в этом направлении. Некоторые моменты, по типу лица персонажа или чешуи драконов приходилось переделывать по несколько раз, так как результат меня не удовлетворял. Для себя я решил, что эта работа должна быть ощутимо лучше предыдущих и, если я чувствовал на каком-то этапе, что чего-то дельного и красивого не выходит, то мне было не жалко переделать все заново. Так же в противовес советам, которые я часто слышу среди ребят мол: «не бери что-то сложное, замодель пропс или максимум возьми в работу бюст» я бы порекомендовал начинающим не размениваться по мелочам, а сразу ставить перед собой комплексные задачи, которые позволят прокачаться и набить полезные шишки, которые помогут вам в будущем.
А! Ну и еще я хотел, чтобы это была не рыцарша в бронеливчике с обнаженными бедрами, а что-то приземленное.
Ладно, переходим от теории к практике.

1) Референсы:
Первым делом собираем референсы. Правило простое: чем больше рефов на каждую часть вашего персонажа вы найдете, тем лучше. При работе с рефами использую простую и бесплатную программу PureRef. Вот так выглядела моя рыцарская реф доска, на которой вы можете видеть:
1 - Уровень качества, на который я хотел равняться в финале своей работы
2 - Главный реф
3 - Шлема
4 - Гамбезоны и все, что находится под броней
5 - Перчатки
6 - Сабатоны и сапоги под ними
7 - Общие рефы рыцарской брони
8 - Рефы прически

Фото2.png


2) Формы, пропорции и элементы экипировки:
Для любого персонажа силуэт — это очень важно. Даже, если мы делаем рыцаршу, на 90% закованную в доспехи, нужно помнить, что внутри доспехов находится человек. У меня не было цели делать стадик по анатомии тела, поэтому я взял болванку женского тела и затвикал ее под свои нужды. Очень важно в начале проекта выставить правильный размер персонажа, чтобы лишить себя головной боли в будущем во многих софтах по типу Marvelous Designer (симуляция может работать некорректно) или в Marmoset будет неправильно отрабатывать SSS (подповерхностное рассеивание). Для этого я экспортирую меш тела в Maya и нажимаю Ctrl + T, чтобы замерить скейл. Далее скейлю до нужного размера и закидываю обратно в Zbrush, и вот мы готовы к дальнейшей работе.

Фото3.png

Для создания брони я использую плагин Zbrush – Extract PRO+. За меня он после маскирования нужной зоны экстрактит геометрию, зеремешит её и оставляет меш без толщины для более простых манипуляций. Это очень экономит время.
Затем я благодаря базовым кистям немного двигаю то, что нужно подвинуть, и оставляю так меш без толщины до тех пор, пока в таком же формате не сделаю все остальные элементы брони. Затем с помощью Zmodeler я добавляю всем сабтулам толщину и ставлю на Dynamic Subdiv, а также применяю кризы (как по мне, кризы удобнее и быстрее сабдива).

Фото4.png

Формы, которые тяжело сделать с помощью маскирования и экстракта, я получаю благодаря Dynamesh, а затем ретоплю их в Maya через Quad Draw и в зебре также добавляю толщину с кризами.

Фото5.png

Все вышеописанное я применяю к доспехам, а пропсы и остальной эквипмент, такие как: набедренный щит, медальон, золотые украшения на ремнях, бляшки и так далее по возможности моделю в Maya. После этих действий опять применяю Dynamic Subdiv с кризами.

Фото6.png

Чтобы детализировать хай польку всего железа и получить богатые карты normal и АО на бейке, я люблю вручную пройтись по всем фаскам Trim Dynamic, а также использую пак кистей easy metal surface.

Фото7.png

Так же для удобства в будущем на стадии ретопологии я использую Decimation Master в ZBrush и урезаю им поликаунт хай поли довольно сильно, чтобы Quad Draw в Maya работал быстро. На хай поли я заливаю цветом различные элементы, чтобы получить карту vertex color после бейка для удобного выделения по Color Selection маске в Subsctance Painter.

Фото8.png

Она даст возможность удобно выбирать многие элементы для покраса, по типу впечённых болтов брони через color selection. Затем опять применяю децемейт в легкой степени, с включенной функцией Use and Keep Polypaint и экспорчу в Maya для правильного нейминга.

Фото9.png

Как и писал ранее, голова, которая меня удовлетворила получилась только с 3-го раза.

Фото10.png

Советую накидывать базовый полипейнт на голову + обязательно нарисуйте глаза и примените на них материал Toy Plastic. Эти несложные действия сильно меняют восприятие персонажа. Как только все было +- ок с головой, я взял подходящую по порам и морщинам голову от Texturing XYZ и натянул её с помощью ZWrap. После того, как голова от XYZ Texturing приняла форму нашей головы, я проджекчу детали и цвет на свою голову.


3) Симуляция одежды:

Юбку и плащ я создал на глаз без особых изысков в плане выкройки. А вот с гамбезоном пришлось чуть повозиться. Для него я использовал несложные выкройки обычных штанов и кофты с длинным рукавом с добавлением интернал лайнов + Layer Clone (Over) + Pressure верхнему слою на 5 + Shrinkage Weft/Warp на 108/105 соответственно + пресет ткани Nylon_Featherweight тоже на верхний слой. Далее симулю все это на Particle Distance 3-5 и загоняю в зебру для дальнейшей работы.

Фото11.png

Полезный совет: экспортите шмотки из марвелуса вот с такими настройками, а в зебре нажимайте Auto Groups With UV. Таким образом вы получите сразу срощенный меш с разными полигруппами для удобной работы.

Фото12.png

4) Ретоп, UV:
В силу того, что это персональная работа, я не особо ограничивался поликаунтом, но без волос все равно получилось влезть до 100к треугольников. Весь ретоп и UV я делаю в Maya (упаковка и выравнивание шелов происходит в Rizom, так как он это делает намного лучше и быстрее). Половина ретопа у меня обычно готова сразу, так как уже в ZBrush первый сабдив на многих сабтулах имеет хорошую сетку, которую я экспорчу в Maya как лоу поли и немного дорабатываю. Чтобы сохранить полигонаж, вы можете делать не особо плотную сетку в середине меша, а по краям ее триангулировать, дабы не было угловатостей.

Фото13.png

Дальше все сглаживаем, расставляем хард эджи там, где надо, делаем правильные UV и отправляемся на бейк. Чуть не забыл! Я заметил, что при одинаковом текселе, те объекты, которые меньше размером в 3д пространстве, чем другие, могут иметь хуже качество текстуры. Допустим, у вас средний тексель на персонажа 10.24, то на такие элементы, как медальон, бляшки и подобные небольшие объекты, я бы смело ставил тексель 15.

5) Бейк:

Для упрощения процесса запечки в Maya я даю всем мешам правильный нейминг:
-хай поли объекты с префиксом «_high»
-лоу поли объекты с префиксом «_low»

Фото14.png

После этого Marmoset сам создаёт правильные бейк группы. Далее настраиваем cage и подмазываем skew в тех местах, где необходимо. Я использую вот такие настройки бейка и всегда тестирую запечку только на normal ради скорости.

Фото15.png

В настройках карты AO – Ambient Occlusion я убираю галочку с пункта ignore groups, чтобы АО с разных объектов не передавалось друг другу, ведь с этим и так прекрасно справится ray tracing в будущем.

Фото16.png

Когда я вижу, что бейк без артефактов я запекаю стандартный пак карт (Normal, Normal Object, AO, Thickness, Curvature, Vertex Color, Position) и отравляюсь в сабстенс пейнтер на текстуры.


6) Текстуры:

Для создания текстур я использую Substance Painter. Пробовал и Quixel Mixer, но не зашло. Как по мне, все равно до сих пор не уровень сабстенса. Мы закидываем полученные после бейка карты в СП, как текстуры и размещаем их в texture set settings соответственно. Чтобы получить первичное ощущение по цветам и материалам для общего восприятия, я накидываю обычные или смарт материалы на нужные места на персонаже. К моменту создания рыцарши у меня уже собралось достаточно своих смарт материалов на все случаи жизни, которые я применял и твикал до нужных мне кондиций.

Фото17.png

Чтобы на текстурах порвать ткань, я меняю шейдер на pbr-metal-rough-with-alpha-test и добавляю канал Opacity.

Фото18.png

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

Фото19.png

Цвет лица на 75% от финального я получил сразу с помощью запечки цвета с хай поли на лоу поли. Напомню, что для этого в ZBrush я натягивал скан.
В середине процесса текстурирования я приступаю к лукдеву материалов в софте, в котором буду рендерить финальные кадры. В моем случае это Marmoset. Советую зайти на Polyhaven.com и скачать 2 hdri: Machine Shop 01 и Machine shop 02. Они не уводят цвет в какой-то определенный оттенок и не искажают восприятие ваших текстур.

Фото20.png

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

7) Волосы:
Мы близимся к завершению мейкин офа, но конечно же нужно остановиться на самом сложном для меня этапе в персонажах – игровых волосах плашками или hair cards. Не могу описать сколько нервных клеток умерло в моем мозге, пока я изучал и делал этот этап в первый раз на своей предыдущей работе – Desert Stranger. Создать саму текстуру волос не сложно. Это можно сделать в XGEN или в специальном для этого софте – Fibershop, который я в этот раз и решил попробовать. Я пробовал создавать расстанавливать плашки и через конвертирование гайдов XGEN в плашки, и через FiberMesh в ZBrush, и в конце концов выбрал ручную расстановку каждой плашки в Maya. Но конечно же этот процесс настолько долгий и кропотливый, что его нужно как-то ускорять. Для этого я использовал плагин GS CurveCurve Tool. Он немного ускоряет и упрощает ручную расстановку плашек, но требует небольшой сноровки для эффективного использования. В интернете есть масса туторов по этому плагину, рекомендую посмотреть и попробовать.
Этот способ я перенял от курса Real-Time Hair Tutorial от Марии Пучковой. Также очень помог довольно старый курс Hair Creation for Games от Johan Lithvall и туториал, который есть на ютубе в свободном доступе от художника с именем TriGon.

Приступим!
Мы должны думать о том, как будут смотреться волосы в рендер движке, ведь конечный результат зритель будет видеть с рендеров, полученных оттуда.
Как вы уже знаете, я использую Marmoset 4 с включенным рейтрейсингом. Тут, к сожалению, есть суровая правда: топ 1 шейдер для волос это Unreal Engine, не важно 4 или 5, но там есть супер шейдак, который настолько крутой, что сам минимизирует протыкания плашек друг друга. Топ 2 – это Marmoset, но без включенного рейтрейсинга и последний в списке – топ 3 – это Marmoset с рейтрейсингом (именно наш вариант). Почему-то так сложилось, что если вы решили рендерить в Марме с рейтрейсингом (а весь остальной персонаж смотрится явно лучше, чем без рейтрейсинга), то любой косяк на расстановке плашек будет виден. Поэтому вы себя подписываете на еще более трудоемкий плейсинг плашек в майке, но результат того стоит. Будьте готовы к тому, что 90% времени ваши волосы будут выглядеть плохо и только на последней трети работы вы будете видеть приближение к желаемому результату.
Сделайте себе одолжение и на текстурах головы сделайте «волосяную шапочку» на скальпе головы. При рендере это будет выглядеть лучше, чем если бы там была голая кожа.
Также перед началом расстановки плашек в Maya я меняю метод отображения прозрачности. Нужно изменить дефолтный Object Sorting на Depth Peeling. Так прозрачность будет корректно отображаться во вьюпорте.

Фото21.png

Теперь к порядку и иерархии плашек:
1-Я начинаю расставлять плашки с основы - первым слоем идут плашки с непрозрачной текстурой. Их задача покрывать скальп головы.
2-Вторым слоем идут плашки с более прозрачной текстурой. Их цель разбить однородность, созданную первым слоем плашек.
3-Третим слоем я пользуюсь, чтобы добавить неоднородности и хаоса для прически. Так будет выглядеть немного органичнее. Вы можете заметить, что плашек с этого слоя стало меньше и они не идут «сплошняком».
4-Так называемые Flyaway hair или иными словами разлетающиеся волосинки. Это маленькие тонкие плашки, которые опять же добавляют для получения большей натуральности. Их я размещаю произвольно вдоль всей причёски.
5-Последнее – это Transition hair или волосы, которые помогают смягчить переход между кожей и началом линии роста волос.
6-Брови и ресницы сделаны одной плашкой.


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

Фото22.png

Продолжайте твикать, фиксить и лукдевить ваши волосы и надеюсь, что у вас получится клёвая прическа. Терпения вам!

7) Рендер и освещение:
Стоит оговориться, что если у вас нет видеокарты поддерживающей рейтресинг, то освещение с включенными лучами будет очень тормозить вашу сцену. Тем не менее это не повод отказываться от этого и вам стоит либо запастись терпением и ждать пока вьюпорт будет прогружаться, либо работать во вьюпорте без рейтрейсинга и все время переключать вкл/выкл, для понимания как выглядит сцена с данным эффектом.
Для освещения я использую стандартный свет из 3 источников (Key light-основной свет, Fill light – заполняющий свет, Rim light – контровой свет) + второй Fill сверху персонажа + дочерний источник света от hdri. Кстати, HDRI для финальных кадров я также взял с Poly Haven.
Key light и второй Fill сверху настроены как Omni, а не Spot или Directional. Пожалуйста выставляйте ползунок диаметра света с 0 на иное значение вправо. Это даст более мягкие тени. Также можете поиграться с оттенком самого света для большей драматичности.


Чтобы сделать какой-то фон, а не просто цвет с виньеткой я создал в Maya сферу вокруг персонажа и перевернул нормали в обратную сторону. UV я не менял.
Далее просто вставил тайловую текстуру тумана, которую сделал в фотошопе в раздел Albedo материала сферы. Затем выключил параметр Cast Shadows, чтоб источники света не давали тень от сферы.


Для земли я взял плейн, применил нужные карты и нарисовал в фотошопе альфу, вставил ее в раздел Transparency с методом Dither для более мягкой работы альфы, нежели Cutout.


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

Фото23.png

Миллиметраж камеры я ставлю на 50 – самый универсальный мм для персонажей имхо. Tone Mapping – Hejl (дает более красивые и контрастные цвета) + легкая резкость, виньетка и зерно.

Фото24.png

Заключение:

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

nikita-vasilkov-1.jpg

nikita-vasilkov-1-closeup-dragon-shoulder.jpg

nikita-vasilkov-4.jpg

nikita-vasilkov-6-6.jpg

nikita-vasilkov-uv-wire-frame.jpg

Со мной всегда можно связаться:

ArtStation / VK / Instagram / LinkedIn / Gmail

708 0 850 18
3
2022-11-14
спасибо, очень интересно =)
2022-11-15
после двухмесячной возни над одной моделью авторы выгорают и начинают писать гайды или всё же это не так? 🙂
2022-11-23
В CG c 2021 что это значит? ты работаешь в компании с 21 или начал заниматся.
RENDER.RU