Пайплайн создания волос через Maya XGen
Original size 1140x1600

Пайплайн создания волос через Maya XGen

PROTECT STATUS: not protected

Данный раздел посвящён попытке автора создать волосы с помощью инструмента Maya XGen.

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

Для тестов подойдёт X-bot, сохраняем его в Т-позе в формате .fbx.

big
Original size 1920x937

Главная страница сайта базы анимаций Mixamo

big
Original size 1920x1015

Скачивание персонажа X-Bot

big
Original size 1920x1012

Скачивание персонажа X-Bot

Для симуляций XGen важно установить папку проекта с системой подпапок.

Original size 1920x1028

Окно установки проекта в Autodesk Maya

Original size 1920x1028

Содержимое папки проекта

После того как проект установлен, можно импортировать персонажа. Назначим ему новые материалы (выделяем персонажа в аутлайнере и с зажатой правой клавишей мыши выбираем Assign New Material, затем справа в attribute editor находим вкладку материала, подбираем цвет и задаём дополнительные настройки в случае необходимости).

Original size 1920x1028

X-Bot во вьюпорте программы Autodesk Maya

Original size 1920x1028

X-Bot с новыми материалами

Далее нужно дублировать меш с головой персонажа. Один из полученных мешей скрывается во вьюпорте с помощью комбинации клавиш Ctrl+H, а другой остаётся. Для удобства работы рекомендуется соблюдать правильный нейминг: скрытый меш называем, например, Char_Head_geo, а видимый — Char_Scalp_geo.

Первое слово — это чаще всего название проекта, второе — часть работы, например, какая-либо деталь модели, geo — префикс для обозначения геометрии в аутлайнере.

Original size 1920x1027

X-Bot с двойным мешем

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

Более того, меш скальпа не отображается на рендере в Maya — это можно проверить, если поставить любой источник света и открыть окно Render View.

Рендеру поддаётся только стандартный меш головы, и если включить его видимость (Shift + H), то можно посмотреть, как выглядит грум на цельном персонаже.

Original size 1920x1028

Скальп в окне рендера

Original size 1920x1027

Рендер меша, не привязанного к гайдам

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

Выбираем те полигоны, в которых приблизительно будет располагаться область роста волос (не запрещается выбрать большее количество полигонов).

Original size 1920x1026

Переход в режим Face

Original size 1920x1028

Выделение шапки из полигонов

Далее в верхней вкладке Generate выбираем Create Description. Дескрипция, или описание — это набор информации о том или ином типе волос, где будут заданы параметры и характерные особенности самой структуры волоса. На одном персонаже может находиться несколько дескрипций, и они все сохраняются в одну или несколько коллекций.

Original size 3840x1616

Сложные причёски могут состоять из нескольких дескрипций. К примеру, чёлка Ваниллопы — это одно описание, основная масса волос — второе описание, и третье описание — хвост. «Ральф против интернета»

Original size 1920x1025

Создание дескрипции для головы

Во вьюпорте появляется окно Create XGen Description. Здесь необходимо указать название нового описания и название коллекции, которую программа тут же автоматически создаст и в которую будут сохраняться новые описания. Также меняем настройки в последнем меню Control the primitives by. По дефолту здесь стоит настройка Using attributes controlled by expressions — она задаёт форму причёски через методы, а этот процесс очень сложен и требует дополнительных навыков. Вместо этого выбираем мод Placing and shaping guides, он наиболее распространённый. После нажатия Create справа во вьюпорте появляется меню настроек XGen. Если его нет, то его можно вызвать искусственно через Windows — Modeling Editors — Xgen Editor.

Original size 1920x1027

Настройки описания

Теперь можно работать с гайдами. На панели настроек над вьюпортом есть вкладка инструментов XGen, а также их можно брать из бокового меню — это зависит от того, кому как комфортнее работать. Выбираем инструмент Add guides и начинаем создавать гайды — условные линии, которые отвечают за направление роста волос. Их можно редактировать с помощью гизмо: например, скалировать или поворачивать. Ещё их можно скульптить. Для этого в плашке инструментов есть Sculpt Giudes. В режиме скульптинга гайды редактируются по аналогии с векторной линией, то есть они состоят из точек (Control Vertices, или CV).

Original size 1920x1028

Первый гайд на голове

Original size 1920x1027

Управление гайдом через гизмо

По дефолту гайд состоит из пяти контрольных точек, но их количество можно перестроить в боковом меню для каждого гайда. Чем больше точек, тем более детализирована причёска. На этом пункте возникает первая проблема. Так как данное исследование в некоторой степени посвящено уровню оптимизации того или иного способа симуляции волос, то можно предположить, что количество контрольных точек влияет на нагрузку, которую в дальнейшем грум окажет на игровой движок. Таким образом, контрольные точки — это один из параметров, от которых зависит вес файла. И в то же время, он отвечает за качество. В детализированных причёсках количество точек вполне может быть равным 20, 40 или 60.

Original size 1920x1028

Увеличение количества контрольных точек

Original size 1920x1030

Гайды с увеличенным количеством точек

Original size 1920x1028

Скульптинг гайда

Размещая гайды и модифицируя их, можно собрать любую причёску. Но важно помнить, что гайды обозначают только характер причёски и направление роста волос, а не их количество. Этот параметр уже настраивается в боковом меню в разделе Density. Назначение плотности также требует внимательности, потому что слишком большое количество волосков может сделать причёску неестественной, а слишком маленькое — лишить её объёма, вызвав «проплешины» в некоторых местах, например, в нижних слоях причёски. После того, как гайды поставлены на скальп, здесь сразу же появляется превью волос.

Original size 1920x1030

Несколько гайдов

Original size 1920x1030

Превью волос

Original size 1920x1027

Редактирование гайдов

Original size 1920x1030

Превью волос на разных этапах редактирования

Original size 1920x1029

Превью волос на разных этапах редактирования

Original size 1920x1028

Превью волос на разных этапах редактирования

Original size 1920x1030

Форма причёски, полученная в результате работы с гайдами

Original size 1920x1030

Форма причёски, полученная в результате работы с гайдами

Original size 1920x1030

Форма причёски, полученная в результате работы с гайдами

Original size 1920x1030

Форма причёски, полученная в результате работы с гайдами

Как только гайды установлены на скальп, приступаем к следующему этапу — созданию региональной маски (Region Map), которая дополнительно задаст направления роста массе волос и обозначит, какие зоны попадут под влияние того или иного гайда. Изначально цвет общей карты — красный, и чтобы покрасить зону влияния, нужно выбрать контрастный цвет в окне настроек кисточки.

Original size 1920x1027

Работа над региональной маской

Если причёска уже сформирована, и на ней нет ошибок или багов, нужно настроить характеристики самих волосков — их общую толщину, а также отдельно толщину у корня и толщину кончиков. После этого можно приступать к наложению модификаторов, которые придают ещё большую живость волосам. Самые базовые модификаторы: Clumping, Coil, Cut, Noise.

Original size 1920x1030

Окно модификаторов

Первый модификатор — это чаще всего Clumping, который отвечает за пучкование. После добавления в окно модификаторов, его нужно сохранить в карту. Здесь можно настроить её запись на свой вкус: сгенерировать по собственным значениям или же задать пучкование относительно расположенных на скальпе гайдов. После сохранения карты на диск можно отрегулировать интенсивность пучкования. Модификаторы можно наслаивать друг на друга, например, добавить второй модификатор пучкования, но с другими настройками.

Original size 1920x1028

Пучкование по направляющим

Original size 1920x808

Пример пучкования по гайдам. «Город героев», 2014, Walt Disney Animation Studios.

Original size 1920x808

Clumping позволяет создать эффект «анимешных» волос. «Город героев», 2014, Disney.

Original size 1920x1030

Генерация карты Clumping

Другой модификатор — Cut, отвечает за длину волос. Её можно сделать неравномерной, чтобы волосы выглядели естественными. Для этого можно воспользоваться функцией rand (), где указывается диапазон, из которого волосы будут забирать значение параметра.

Модификатор Coil завивает волос, а модификатор Noise добавляет выбившиеся волоски. Для усиления эффекта выбившихся волос можно использовать выражение stray () внутри модификатора, предварительно указав процент Stray в разделе Descriptions — Set Stray Percentage. Лучший атрибут внутри модификатора для установки Stray — маска.

Original size 1920x1027

Установка процента Stray

Original size 1920x1028

Модификатор Noise

Original size 3840x1632

Модификатор coil превращает прямые волосы в завитки. «Храбрая сердцем», 2012, Pixar Animation Studios.

Original size 1841x1025

«Шумовые» шерстинки на мордочке Джуди Хоппс. «Зверополис», 2014, Disney.

Ещё один важный элемент в работе с грумом — разграничение зоны, в которой будут расти волосы, и зоны, где их не должно быть. В боковом меню сразу же под настройками Density есть параметр Mask, где генерируется маска. Можно выбрать любой базовый цвет маски. Если выбираете чёрный базовый цвет, он будет блокирующим, а зона белого цвета будет обозначать область, в которой растут волосы. Маска редактируется в любой момент, но после каждых изменений важно сохранять её на диск. Из-за несоответствия расположения разных файлов проекта (в том числе маски), Maya может сломать проект, и превью волос не будет отображаться во вьюпорте.

Original size 1920x1027

Создание карты роста волос

Original size 1920x1030

Рисование карты волос

Original size 850x566

Благодаря карте Density можно ограничить зону роста волос и например, сделать такой ирокез. «Тролли: Мировой тур», 2020, DreamWorks Animation.

Рендер XGen в Maya — отдельный, уникальный элемент пайплана. Здесь нет универсального решения задачи, так как способов настроить рендер и материал существует огромное множество. В разделе материалов Hypershade содержится база пресетов материалов для волос Arnold, их можно накинуть на волосы сырыми или же закастомизировать, настроить распределение меланина или добавить градиент.

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

Original size 1920x1030

Результат

Original size 1920x1028

Результат

Чтобы осуществить трансфер в движок, волосы конвертируются в формат Interactive Groom и экспортятся в формате Alembic. В процессе работы с грумом конструкционная история волос не чистится, так как этот процесс вызывает сбои.

Original size 1920x1030

Конвертация в интерактивный грум перед экспортом кэша

Это было краткое изложение базовых элементов пайплана волос в XGen. С точки зрения эстетики, XGen — это сильнейший инструмент для получения реалистичных волос. Он позволяет прорабатывать мельчайшие детали, шумы, выбившиеся волосы. Даже во вьюпорте заметны торчащие хаотичные мелкие волоски. Но при этом, как известно, XGen имеет большой информационный вес, так как симуляция состоит из ряда комплектующих: карт, гайдов, контрольных точек, значений на модификаторах и так далее. А качество причёски с эстетической стороны зависит от количества времени, потраченного на её создание, от подобранных индивидуальных параметров и от внимательного прохождения всех этапов пайплайна. В нашем случае волосы получились не совсем идеальными, но это даже плюс, потому что дополнительно можно будет взглянуть на ошибки внутри UE и проанализировать, какие параметры могут испортить симуляцию для движка.

Пайплайн создания волос через Maya XGen
Chapter:
1
2
3
4
5
We use cookies to improve the operation of the website and to enhance its usability. More detailed information on the use of cookies can be fo...
Show more