Top
3D арт3D сценыGameDevMaking ofMarmoset ToolbagMayaPhotoshopSubstance PainterUNREAL ENGINEZBrushПерсонажиСофтУроки

Sacrifice: брейкдаун создания стилизованного персонажа

Поделиться

Перевод статьи с портала 80 level.

Frédéric Arsenault (Character Artist в Improbable) подготовил подробный брейкдаун, в котором описывает все этапы своего рабочего процесса. Статья будет особенно полезна для новичков и художников среднего уровня.

Вступление

Всем привет!

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

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

Моделирование

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

Я всегда делаю блокинг в Maya, потому что там у меня это получается гораздо быстрее и эффективнее, чем в ZBrush.

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

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

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

  1. Берете основной сабтул с одной полигруппой и без сабдивайдов.
  2. В меню Brush нажмите B> Z> M. Это поднимет кисть Zmodeler. Наведите курсор на фейс и зажмите пробел. Выберите Polygroup> Polyloop options. Нажмите на фейс. Так вы получите луп полигруппы. Они будут использованы для сгиба краев на следующем шаге.
  3. Как только все полигруппы разложены, перейдите на вкладку Geometry и найдите Crease> Crease PG. Это выделит все ребра полигрупп и соответственно согнет их. Края будут выглядеть острыми как бритва. Это не тот вид, который нам нужен. Уровень сгиба по умолчанию слишком высок, его нужно отрегулировать.
  4. Перейдите на вкладку Geometry, найдите Dynamic Subdivisions> SmoothSubdiv и установите для него что-то около 5. Это значение показывает количество раз, которое модель будет поделена динамически. Имейте в виду, это не настоящие сабдивайды, а просто предварительный просмотр. Затем перейдите в меню «Crease» еще раз, найдите «crease level» и установите его на 2. Crease level всегда должен быть ниже установленного числа Smooth Subdiv, чтобы можно было видеть гладкость граней. Чем больше разница между первым значением и вторым, тем более плавным будет край.

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

Как только вы будете довольны тем, как выглядят ваши сабтулы, вы можете задать динамические дивайды в качестве фактических. На вкладке Geometry перейдите к разделу Dynamic Subdivisions> Apply. Теперь вы готовы начать скульптить детали.

Я предпочитаю переключаться между Maya и ZBrush, чтобы выполнить некоторые более сложные формы, такие как гравировка наручей. Для этой части я использую функцию Quad Draw в Maya, где я рисую нужную мне базовую фигуру. Затем я немного «раздуваю» ее, экспортирую и переношу в ZBrush, после чего применяю тот же метод динамических сабдивов, что и раньше.

Теперь мы можем перейти к завершению скульптинга и фиксации в high poly. Именно здесь мы будем добавлять все маленькие «колокольчики и свистки», чтобы сделать модель как можно интереснее. Большие скосы и ровные края будут очень важны, чтобы сделать стилизованный скульпт и найти хороший баланс между деталями и большими формами.

Ретопология

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

После того, как high poly модель готова, и все там, где оно и должно быть, мы можем перейти к экспорту всех наших мешей в чистую структуру папок и подготовить их к ретопологии.

Вот шаги, которые я проделываю для экспорта моего хай поли из ZBrush:

  1. Убедитесь, что ваши сабтулы организованы в папки. Создайте соответствующий набор вашего проекта для экспорта high poly мешей. Вы можете экспортировать одну папку за раз, скрывая все, кроме той, которая вам нужна.
  2. В разделе Zplugin, перейдите к SubTool Master и нажмите Export.
  3. Убедитесь, что у вас правильные настройки, а затем нажмите ОК. Программа попросит вас указать нужную папку. Выберите одну из тех, что вы создали ранее. Сделайте это для всех групп сабтулов.

Теперь все ваши high poly меши в упорядоченных папках, готовые для запекания и ретопологии в Quad Draw.

Все, что теперь нужно сделать, это создать пустую сцену в Maya, импортировать туда элементы по одному и создать low poly с помощью функции Quad Draw в инструментарии моделирования Maya.

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

Для этого персонажа я решил поместить все UV на один лист текстуры 4K. Каждый зеркальный объект делит UV пространство с оригиналом, что обеспечивает текстурам большее разрешение.

Затем я экспортирую все получившиеся OBJs в ту же структуру папок, что и HP, но на этот раз помещаю их в папки с именем Low_Poly.

Запекание

Теперь, когда все high и low poly объекты экспортированы в соответствующие папки, мы можем продолжить, подготовив сцену в Marmoset Toolbag.

Вот шаги, которые я обычно выполняю для подготовки сцены:

  1. Как правило, я запекаю все компоненты по отдельности, чтобы убедиться, что нет никаких странных артефактов окклюзии. Стратегия здесь состоит в том, чтобы поместить все отдельные объекты в группу запекания. Эти объекты должны быть организованы таким образом, чтобы они не были расположены близко к другим объектам, чтобы они не перекрывали друг друга.
  2. Установите выходную папку и имя для запеченных карт. Измените значения на что-то выше, чем 4x (по умолчанию). Я обычно использую 16х или 64х. Измените паддинг на «Extreme», а затем измените настройку смягчения на 0,1
  3. Выберите разрешение, в которое вы хотите экспортировать ваши текстуры.
  4. Сначала я всегда запекаю карту нормалей, так как это, в основном, будет влиять на все остальные карты. Если ваша карта нормалей будет запечена без ошибок, вы сможете в значительной степени гарантировать, что ambient occlusion тоже будет в порядке. Используйте параметры рисования «Offset» и «Skew», чтобы очистить карту нормалей, поскольку, скорее всего, всегда будут небольшие ошибки.

Marmoset Toolbag предлагает отличную документацию для получения очень чистых результатов запечки — посмотрите здесь.

Текстурирование

Теперь, когда все карты запечены, мы можем настроить меш в Substance Painter и начать процесс текстурирования персонажа.

Как правило, я экспортирую свою сетку из Maya в формате FBX. Если у вас есть несколько листов текстур для вашего персонажа, обязательно назначьте разные материалы каждому отдельному объекту, имеющему тот же лист текстур. Как только вы импортируете все в Substance Painter, он распознает материалы, которые вы назначили ранее, и разделит их на отдельные наборы текстур. Это позволит вам работать с каждым листом в отдельности, а также экспортировать их отдельно.

Вот мои шаги для настройки сцены:

  1. Создайте новый проект и выберите шаблон в котором вы хотите работать. Я обычно придерживаюсь PBR — Metallic Roughness.
  2. Выберите FBX, который вы экспортировали.
  3. Установите желаемое разрешение документа для вашего проекта.
  4. Установите формат карты нормалей «Open GL».
  5. Импортируйте карты, которые запекли в Marmoset. Если у вас больше карт, чем просто нормали и ambient occlusion, импортируйте и их. Затем нажмите «ОК».
  6. Теперь нужно запеч остальные карты проекта, такие как Curvature, World Space Normal, Position, и Thickness. В общих настройках установите желаемый размер разрешения. Обычно я не изменяю настройки запечки и оставляю все по умолчанию.
  7. Нажмите «Bake Mesh Maps».

Поскольку это стилизованный проект, я хотел добавить к PBR видимость рисовки от руки. Это означает, что мне нужно было перейти в Photoshop, чтобы построить основу для моего… эм… базового цвета.

Вот шаги к получению этой прочной основы:

  1. Первым слоем будет карта ambient occlusion, которую мы запекли в Marmoset Toolbag.
  2. Второй слой — это кастомная карта градиента. Вы также можете взять карту position, которую вы запекли в Substance Painter, и открыть ее в Photoshop. Затем перейдите на вкладку «Channels» и скопируйте только зеленый канал. Вставьте его поверх ambient occlusion на новом слое и установите режим смешивания на «Multiply» с непрозрачностью около 50%.
  3. Теперь на новом слое добавьте карту Curvature, запеченную в Substance Painter, и установите режим смешивания на «Hard Light» с непрозрачностью около 25% (это зависит от того, насколько сильно, по-вашему, должны читаться края).
  4. Затем создайте новый слой, залейте его 50% серым (808080) и устанавите режим смешивания «Multiply».
  5. Экспортируйте ваши UV из Maya и поместите их на новый слой поверх всего, инвертируйте и установите режим смешивания на «Multiply». Это позволит легко выбирать UV шеллы для блокировки в градиентах.
  6. Как только у вас все сложится, можно начинать блокировать цвета. При помощи лассо выделяйте UV islands и начинайте заполнять их слоем «Gradient Map». Это создаст слой градиента, в котором вы сможете управлять полутонами и световыми эффектами вашего основного цвета. Как только все шеллы заполнены соответствующими цветами, можно экспортировать это как Base_Color.

Я не буду описывать весь процесс текстурирования, так как это слишком долго, но обычно у меня есть три папки: «BASE_COLOR», «ROUGHNESS», «METALLIC». Это структура папок, которую я использую для стилизованных проектов, таких как этот, и она может не подходить для более реалистичных персонажей.

Затем мы импортируем карту Base_Color, которую создали в Photoshop, и размещаем ее в самом низу всех «BASE_COLOR» в каждой папке типов материалов.

Я также обычно устанавливаю базовое значение для Roughness и Metallic для каждого материала и строю поверх этого.

Это слои, с которыми я обычно работаю:

  1. Edgewear с использованием карты кривизны.
  2. Более высокая Roughness в зонах, подверженных влиянию ambient occlusion.
  3. Generator layers используют запеченные карты, чтобы управлять такими вещами как шероховатость и грязь.
  4. Я импортирую градиент, устанавливаю режим смешивания «Overlay» и уменьшаю непрозрачность до 30-40%.
  5. Я добавляю слой темно-коричневого цвета, делаю кисть со стилизованными пятнами и растираю некоторые участки грязи, чтобы действительно разбить базовый цвет. Затем я копирую эту маску и также добавляю ее в папку «Roughness».
  6. Я добавляю слой процедурных царапин, играя с параметрами, пока не получу желаемый вид. Поскольку это стилизованный персонаж, лучше ими не увлекаться, сосредоточившись на зонах интереса и логики.
  7. Я также добавляю слои краски и вручную рисую некоторые области, чтобы получить нужный мне вид и исправить проблемные области.

Презентация 1

Я обнаружил, что самый эффективный способ работы — это сначала настроить сцену в Marmoset Toolbag, а затем добавить все источники света и шейдеры. Таким образом, все, что вам нужно сделать, это подключить ваши текстуры после экспорта из Substance Painter.

Преимущество этого способа заключается в том, что вы можете подключать свои текстуры на ранних этапах и продолжать их итерацию в Substance Painter. Каждый раз, когда вы экспортируете их и возвращаетесь в Marmoset, они должны автоматически обновляться. Это обеспечивает быстрые итерации и действительно помогает вам придать модели вид, который вы ищете.

Теперь мы можем экспортировать текстуры, чтобы начать добавлять шейдеры в Marmoset для презентации:

  1. Хорошее практическое правило, как я уже упоминал ранее, поддерживать организованность и понятность всех ваших названий, насколько это возможно.
  2. Перейдите в File>Export textures. Укажите папку, в которую хотите экспортировать текстуры. Выберите необходимую конфигурацию экспорта. Для этого проекта я выбрал Unreal Engine 4 (Packed). Установил тип файла «Targa» и желаемое разрешение текстур. Все, можно нажимать «Export».

Освещение

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

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

Вот как я настроил освещение:

Презентация 2

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

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

Вот шаги, которые я выполняю для создания этого эффекта:

  1. Все, что нам нужно, это наш оригинальный geo, как есть.
  2. Объедините все объекты, затем инвертируйте нормали.
  3. Выделив объект, перейдите в Edit Mesh> Transform. В Local Translate Z введите значение -0,3. Это значение будет в основном определять толщину этого контура. Чем дальше в негативы, тем толще будет контур. Экспортируйте получившийся меш как OBJ.

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

Теперь пришло время начать сборку окончательных рендеров и завершение проекта. Обычно я всегда начинаю с основного beauty шота, а затем делаю еще несколько снимков с других интересных ракурсов.

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

Затем я экспортирую этот снимок с прозрачностью в довольно высоком разрешении. Я переношу его в Photoshop, а затем добавляю несколько настроек, чтобы все было правильно.

Это конечный результат:

Вывод

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

Еще раз спасибо и удачи во всех ваших будущих проектах!

Подписывайтесь на нас в Facebook, Telegram, Vkontakte, Pinterest.