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

Введение
Привет, я Пётр, художник по персонажам для игр и кино, в основном работаю с Unreal Engine как со средой рендеринга. В настоящее время я почти пять лет работаю по долгосрочному контракту с Aaron Sims Creative, где отвечаю за моделирование и подготовку всех видов ассетов для кинематографического производства в Unreal Engine 5, от персонажей до роботов и реквизитов.
Помимо основной работы, я веду небольшое наставничество, помогая другим художникам развивать свои навыки и уменьшать количество ошибок. Также я начал работать наставником в центре обучения аналитического центра. Когда у меня появляется свободное время, я всегда стараюсь улучшать свои навыки, пробуя новые техники и инструменты.
Хочу отметить, что я пока не являюсь профессиональным грумером (пока), так что если здесь что-то покажется вам нелогичным, пожалуйста, дайте мне знать.
Работая над этим проектом, я посетил мастер-класс по Houdini с Луисом Кадавидом и много общался с Артёмом Эрикеновым, которые очень помогли мне во многих аспектах, и я хочу выразить им благодарность за многое из того, что я здесь объясняю.
Цель проекта
Цель этого проекта — лучше ознакомиться с Houdini, изучить рабочие процессы для различных типов причёсок и понять, насколько далеко можно продвинуться процедурно с минимальным количеством фактического груминга.
Кожа
Что касается кожи и раскраски атрибутов, то, как мне кажется, стоит упомянуть, и что стало для меня самым большим отличием от XGen, так это то, что в Houdini всё может быть процедурным. Например, когда вы раскрашиваете атрибут, возможно, не стоит раскрашивать его с плавным переходом с самого начала, а вместо этого раскрасить его резкой линией, а затем использовать узел размытия атрибутов, чтобы иметь больше контроля над эффектом.
Ещё один момент: вам не нужно раскрашивать всю маску одним атрибутом краски, можно составить её с помощью узла wrangle, и что ещё лучше — используя функцию fit01(), можно усилить свой атрибут, уменьшить его или даже инвертировать.
Кудри
Руководства
Для причёски с кудрями используются два уровня направляющих. Первый был обработан вручную и достаточно разрежен, чтобы я мог с лёгкостью контролировать общий поток и направление основных комков. Я всегда начинал с размещения только половины головы, затем зеркалил это и нарушал симметрию после, таким образом у меня больше контроля и можно быстрее просмотреть всю причёску.
В этих вьющихся волосах у меня было много проблем с пересечением кудрей друг с другом. Помогло добавление значительной толщины к скульптурным направляющим; так я мог лучше просмотреть, какое расстояние мне нужно держать между ними, чтобы позже у кудрей было больше пространства.
Затем второй уровень направляющих был сгенерирован и завитулен процедурно на основе первоначального размещения направляющих.
Очень важным для окончательного вида было использование пользовательского атрибута плотности, который добавлял некоторый шум для определения плотности размещения направляющих, а затем добавление большой плотности на разрез, чтобы обеспечить хорошее покрытие и более мелкие комки в этой области.
Для большего контроля и разнообразия я разделил направляющие на три группы, используя узел маски направляющих и групповые узлы. Первая группа использует длину ската, затем инвертирует её, чтобы получить всё остальное, а эта группа случайным образом разделена пополам с помощью случайной маскировки из узла маски направляющих.
Все кудри сделаны с помощью узла hairclump и настроек завивки внутри. Для большей вариативности я использовал амплитудные и частотные атрибуты, подготовленные ранее в атрибуте wrangle. Идея в том, что вместо одного значения амплитуды и частоты для всех кудрей можно использовать некоторую рандомизацию между заданными значениями. Они были немного разными для описанных выше групп направляющих.
Это была самая важная часть для кудрей. Далее я использовал несколько узлов длины, чтобы добавить ещё больше вариативности. Я также добавил некоторые элементы управления, чтобы сделать определённые части причёски короче или длиннее, например, бока, спину и верхнюю часть. Это было нужно только для того, чтобы можно было быстро сделать несколько итераций по более коротким вариациям.
Волосы
``````Имея подробные руководства lvl2, настройка волос становится простой. Я начал с того, что разместил их с помощью узла сгустка и использовал мои руководства lvl2 в качестве пользовательских кривых сгустка. Затем я подготовил несколько масок для простых вариаций: одну для длинных, одну для коротких и одну для случайных выбивающихся прядей.
Далее я продолжил, добавив немного пушистости, затем несколько подкомков, затем ещё пушистости и ещё более мелких подкомков.
Интересный трюк — сослаться на больший размер сгустка в меньшем, чтобы они всегда оставались относительными, независимо от того, как вы меняете первый. Я решил, что меньшие сгустки будут составлять ⅓ от среднего размера один раз. Вы делаете это, просто щёлкнув правой кнопкой мыши по тексту размера сгустка, затем копируете параметр и вставляете относительную ссылку на другой узел сгустка.

После этого — немного пушистости и выбивающихся прядей, ничего особенного, это требует много времени между всеми настройками модификаторов для волос и настройки направляющих. В конце, перед экспортом, я использовал узел выборки кривой по плотности от labs, который позволяет мне немного оптимизировать пряди для Unreal.
Афро
Направляющие
Для афро-направляющих также было два уровня направляющих. Первый устанавливал изгибы по бокам, на затылке и основную пушистость. Второй уровень направляющих отвечал за количество комков в будущих волосах. Количество плотности в сочетании с атрибутом плотности позволяет получить либо много маленьких комков, либо несколько очень широких.
Волосы
Чтобы добиться того пушистого вида, который мне нравился, мне пришлось использовать много узлов пушистости, и я начал с базовых завитков, руководствуясь направляющими lvl2.
Для оптимизации и лучшего заполнения пространства я объединил конечные волосы из основных комков и немного фоновых заполняющих коротких афро-волос (заполнитель предпросмотрен с красным цветом).

Косы
Направляющие
Для кос я хотел попробовать инструменты Metahuman, выпущенные для Houdini для ухода за волосами некоторое время назад компанией Epic. Они очень помогли как с косами, так и с причёсками «корнроу». Единственный ручной уход был за основными направляющими, которые позже будут использованы для двух толстых кос, всех более мелких и «корнроу».

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


Волосы
Для волос с косами я начал с того, что взял трубки, выведенные из узла mh braid, затем использовал mh tube fill, который позволил мне равномерно заполнить всё пространство трубки волосами, чтобы покрытие было хорошим, а также убедиться, что оно подойдёт к плотному силуэту косы.
Одна из проблем, с которой я столкнулся при работе с узлами Metahuman, заключается в том, что встроенный корневой узел для волос имеет заблокированное значение того, насколько корень распространяется, и даже наименьшее разрешённое значение было для меня слишком широким, поэтому мне пришлось создать базовый корневой узел самому.
Принцип его работы заключается в том, что он выбирает первую точку, затем расширяется ещё на пару точек, которые позволяют контролировать, как далеко достигнет корень, затем удаляет все эти точки между концом выделения и точкой корня. Затем немного дрожит точки для вариации и проецирует их обратно на поверхность. Наконец, некоторое пересэмплирование и небольшое сглаживание.
Точно так же я расширил и встряхнул кончики. Затем я подготовил группу для цветовой вариации. Я хотел иметь контроль над тем, как это будет выглядеть, и не иметь случайных прядей; для этого я разместил пару примитивов, обнаружил точки, пересекающие примитивы, и несколько прядей, затем расширил эти точки до полных прядей и преобразовал их в группу для дальнейшего использования в Unreal.

Укладка волос была простой: немного сгущения, лёгкая пушистость и случайная стрижка очень небольшого процента волос, который я подготовил в начале с помощью маски-направляющей.
Последним шагом была оптимизация количества точек для Unreal. На данный момент в нём жёстко задано ограничение в 255 точек на прядь, которые мы можем использовать; всё, что превышает это, удаляется, поэтому все волосы, такие как косы, дреды или афро, немного проблематичны.
``````Я использовал кривую повторной выборки по плотности из лабораторий, чтобы указать точное количество точек, которое она может использовать. Затем с помощью плавного изменения области косы, которая держится меньшим количеством точек, чем другие, я переместил некоторое количество точек из выбранной секции к корням и кончикам, чтобы они лучше держали форму.

Рендеринг
Что касается рендеринга, то ничего особенного, кроме кинематического бланка волос от Argentum Studio. Это не реклама; просто работает. У меня было две схемы освещения: одна для стандартного lookdev, а другая для красивых снимков. Они состоят из нескольких источников света и неба, которое важно и очень хорошо заполняет все тёмные тени. В дополнение к этому бланка волос, чтобы всё выглядело ещё лучше. Настройки, которые я использую, включают эффект небесного света и рендеринг PPLL.

Я экспериментировал с количеством сэмплов в обоих случаях, чтобы всё выглядело достаточно хорошо и не занимало много времени на рендеринг (этот бланк волос серьёзно влияет на производительность в окне просмотра), а также с порогом расстояния освещения неба, который показывает, насколько свет неба проникает в волосы.
Вы можете найти подробные объяснения в их видео на YouTube, где они подробно объясняют все настройки.
Краткое содержание
Я считаю Houdini безумно мощным инструментом для ухода за волосами. Я не вернусь к XGen. С ним гораздо больше контроля, но настоящее мастерство и борьба — это на самом деле уметь заставить Houdini делать именно то, что вы хотите, чтобы можно было максимально точно воспроизвести референсы. Это следующая цель: сделать причёску после существующей намного ближе, чем просто примерно соответствовать ей.
Пётр Зелиньски, художник по персонажам
```Автор: Piotr Zielinski
Материал подготовлен на основе статьи 80.lv. Перевод — Skills Up.