Хочу поделиться с вами процессом создания моей последней работы. Я покажу вам этапы создания девушки-эльфийки (моделирование, текстурирование, наложение теней и рендеринг). Надеюсь, это будет интересно, и вы узнаете что-то новое и полезное для себя. Что ж начнем!
Моделирование
Когда я начинаю работать над новым проектом первое что я делаю это набросок модели, что бы убедиться в правильности форм и пропорций. Когда с этим покончено можно приступать к детальной работе над моделью, очень важно добиться правильных пропорций модели, так как если модель будет не пропорциональной, финальный результат может быть непредсказуем, и вы потратите больше времени что бы задать верные параметры.
Стадии моделирования и детализации
Далее я создаю UV-равертку без наложения. Каждый раз, добавляя новый участок бюста, я пользовался функцией Project All в ZBrush для того, что бы я мог переносить полученную фигуру в новую полигональную модель. Эта новая полигональная модель выглядит идентично, однако обладает хорошей конфигурацией и UV-раверткой. Я проделывал эти этапы для каждой детали модели: очистить топологию, сделать UV-равертку, перенести на новую полигональную модель.
Создание UV и перенос модели
Детали модели
Моделирование кожи
Мне очень помогли уже готовые материалы, в особенности при создании персонажа с реалистичной кожей. За основу я использовал фотографии высокого разрешения, накладывал в фотошопе фильтр High Pass, обесцвечивал изображение и корректировал уровни, благодаря этому морщины и поры отчетливо видны, и теперь изображение можно использовать в качестве шаблона для моделирования или для создания пользовательской кисти. После добавления текстуры пор я накладываю шум в ZBrush, что бы кожа не была однотипной.
Структура пор и морщинок
Конечный вид модели бюста
Параметры окружения
Для создания правильного окружения нам нужно определить куда будет падать тень, источник света и расположения камеры – все эти элементы должны работать как одна система. Если мы правильно настроим источник света и камеру, то мы значительно облегчим процесс настройки теней. Для пробного рендеринга я установил источник света и камеру под настройки тени, конечный вариант может быть другим. Я расположил свет таким образом, что бы подчеркнуть рассеивание. Обычно я делаю фронтальный источник света с наклоном в 45 градусов и еще один на заднем плане, что бы подчеркнуть рассеивание в области ушей. Параметры для V-Ray камеры точно такие же, как и для обычной, Баланс Белого – нейтральный (я старался избежать искажения цветов). Я так же добавил HDRi карту для верхнего освещения и использовал ее в качестве карты окружающей среды. И я еще раз убедился в том, что модель, импортированная из ZBrush составлена верно, так как тени в VRayFastSSS2 очень чувствительны к размеру.
Параметры сцены в 3dsmax
Параметры для наложения теней на кожу – часть 1
Наложение теней на кожу это сложный процесс, поэтому я предпочитаю разбить его на несколько частей или подпунктов. Я начал с подповерхностного рассеивания (SSS) без каких-либо бликов. Текстуры влияют на тени (цвет, насыщенность, яркость) на ранних стадиях я вместо текстур использую точки VRayColor. Это намного упрощает задачу и в будущем эти точки станут основой для текстур. Затем я стараюсь найти радиус рассеивания, как правило, величина оптимального находится где-то между 1.2 и 2 cм.
Различные радиусы рассеивания для подповерхностного рассеивания
Cпомощью VRayMtl Я добавил единичное рассеивание (SS) к структуре шейдера, связав серый цвет со слотом Diffuse (цвет рассеивания на освещённых участках). Затем я объединил шейдеры при помощи VRayBlendMtl, при этом задав вычитания SS (серого цвета) из SSS. Разница между SSSи SSSвместе с SSбудет более заметной, когда я использую текстуры вместо VRayColor.
Добавление единичного рассеивания для шейдера структуры кожи
Так как красный цвет рассеивается намного глубже, чем зеленый и синий я решил использовать это для наложения теней на кожу. Я разделил SSS цвет на красный, зеленый и синий (RGB) каналы, используя ColorCorrection. Каждый канал имеет свой VRayFastSSS2 шейдер с индивидуальным радиусом рассеивания. Все это было объединено с помощью VRayBlendMtl (Additive (shellac) режим должен быть включен!). В итоге у меня получилось многослойное подповерхностное рассеивание и плавный переход градиента (сравните единичное рассеивание и многослойное).
Многослойное подповерхностное рассеивание
Затем я добавил основные и вторичные блики. Все шейдеры связаны с VRayBlendMtl (Additive (shellac) режим должен быть включен!). Теперь можно приступить к процессу наложения текстур.
Добавление основных и вторичных бликов на текстуру кожи
Текстуры
Я составил палитру, взяв за основу рекомендованные цвета, и подкорректировал их с помощью узлов VRayColor (которые были использованы на ранней стадии для настройки теней). Теперь рисовать текстуры будет значительно проще. Я добавил больше тонов в зависимости от места расположения участка кожи.
Функция PolyPaint в ZBrush
Добавляем разнообразие цвета в PolyPaint
Для того что бы из обычной карты (Normal map) получить cavity map я воспользовался в Photoshop функцией xNormal>Normals2Cavity в меню фильтры. Затем взял ее за основу для Glossiness, Specular, Single Scattering карт.
Конвертирование текстур. Из обычной карты в cavity.
Простой способ создания текстур для радиуса рассеивания:
- Инвертировать нормали модели
- Соединить карту VRayDirt с одним из слотов Self-illumination шейдера VRayMtl
- «Запекаем» текстуру (texture baking) (я использовал VRayCompleteMap)
- Инвертируем полученную текстуру
(Как вариант, вы можете поменять местами черный и белый цвета в VRayDirt, тогда вам не придется выполнять 4й пункт)
Простой способ создания текстур для радиуса рассеивания
Это все текстуры, что я использовал для наложения теней на кожу. Хочу заметить, что макияж был наложен уже поверх всех тексту, а не поверх SSS.
Текстуры для шейдера кожи
Параметры для наложения теней на кожу – часть 2
Вернемся к параметрам шейдера. Это финальная структура шейдера кожи и как вы могли уже заметить, VRayColor был заменен готовыми текстурами. Я так же поработал с микро-геометрией фигуры и сделал плавные текстуры для отдельных участков головы. Для каждой текстуры я установил определенное количество копий. Каждый участок с разными текстурами пор выделен маской – для одной текстуры у меня было три маски. Каждая маска располагается на своем канале (R, G, и B), который отражен на изображении масок соответственно красным, зелёным и синими цветами. (На самом деле у вас может быть и 4 маски для каждого файла (R, G, B, и Альфа канал)). Спросите, чем это может быть полезно? Благодаря этому вы можете четко видеть границы каждой маски и тем самым избежать пробелов. Я извлек каждую маску из файла с помощью ColorCorrection в 3ds Max. Затем я объединил обычную карту (Normal map) головы с микрогеометрической картой. Я повторил все те же шаги как для Specular так и для Glossiness карт.
Использованные текстуры для шейдера кожи
Наглядная схема структуры мультислойного шейдера кожи
Золотая маска
Для золотой маски я использовал 3 шейдера — Base, Glossy с царапинами, и Dirt. Я так же использовал маску, что бы ограничить влияние последних двух шейдеров. В этом случае все шейдеры так же соединены с VRayBlendMtl (Additive (shellac) режим должен быть включен!).
Схема структуры шейдера маски
Три слоя шейдера маски
Волосы
Я использовал стандартный генератор волос в 3ds Max, модификатор волос и шерсти. Я разделил волосы на отдельные пряди. Косички и хвостики это уже другая история. В качество основы для генератора волос я использовал сетку.
- Сперва я сделал направляющие и сплайны
- Затем я добавил сферы в качестве поперечного сечения для сплайнов
- После чего я с помощью сплайнов обернул косу вокруг хвостика. Я использовал модификатор Path Deform
- Выделил все края витков…
- … и создал новые сплайны
- И наконец, для этих сплайнов применил генератор волос и шерсти
Процесс создания волос
Для ресниц я использовал дополнительные (тем не менее, временные) формы. В 3ds Max есть очень полезный инструмент Graphite. С помощью функции Draw On: Surface я выделил все фигуры, где будут находиться ресницы. В той же категории (произвольная форма) я подобрал сплайны. Теперь можно создать основу для ресниц, после чего применить генератор волос. Точно таким же способом я сделал брови.
Создание ресниц и бровей
Рендеринг и готовый результат
После всех вышеописанных этапов я наконец получил готовое изображение. Я внес кое-какие корректировки, сделал тени и блики немного выразительнее, добавил насыщенности и контраста (совсем чуть-чуть)… и все, пожалуй! Спасибо что прочитали статью, надеюсь, она оказалась полезной для вас!
Корректировка цвета и добавление финальных штрихов
Готовая работа