Создание прически в Houdini
Данный проект является учебной работой студента Школы дизайна или исследовательской работой преподавателя Школы дизайна. Данный проект не является коммерческим и служит образовательным целям

Данная глава представляет собой детальное описание рабочего процесса создания прически главного героя — Дольфия — для анимационного проекта Sundancer с использованием программы Houdini FX. Прическа персонажа характеризуется длинными золотистыми волнистыми волосами с интегрированной центральной косой, что требует комплексного подхода к грумингу, сочетающего художественное видение с техническими возможностями процедурных инструментов Houdini.

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

Подготовка геометрии скальпа и начальная настройка / Импорт и оптимизация

Процесс начинается с импорта геометрии головы персонажа Дольфия в рабочее пространство Houdini на уровне объектов (Object Level). Геометрия головы импортируется через узел File или Alembic, в зависимости от формата исходных данных. Критически важно на данном этапе проверить масштаб и ориентацию модели, чтобы они соответствовали нативным координатам Houdini, где одна единица измерения обычно соответствует одному метру.

big
Исходный размер 800x418

Масштабирование модели относительно Томми (модели из базового набора, имеющей стандартные размера человека)

Определение атрибутов плотности и зон роста

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

Исходный размер 1900x772

Нода для рисования маски Density

Узел Paint используется для создания атрибута плотности, обычно называемого density или hair_density. Атрибут представляет собой скалярное значение на вершинах или примитивах геометрии, где значение 1.0 соответствует максимальной плотности, а 0.0 — отсутствию волос. При рисовании атрибута художник использует интерактивные кисти Houdini, настраивая радиус, непрозрачность и режимы смешивания для достижения плавных переходов между зонами различной плотности.

Исходный размер 800x418

Определение зоны роста волос путем создания маски с помощью ноды «attribute_paint»

Когда черно-белая маска нарисована, необходимо конвертировать значение в диапазон значений от красного до фиолетового. Это возможно слелать, написав код в attribute wrangle: f@density=1-@Cd.x;

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

Создание замкнутого объема VDB для коллизии

Одной из технических особенностей системы груминга Houdini является использование VDB-представления скальпа для обработки коллизий. VDB (Volumetric Dynamic B+tree) — это структура данных, представляющая геометрию в виде объемного поля со знаковым расстоянием (signed distance field). Для корректной генерации VDB скальп должен представлять собой замкнутый объем без отверстий.

Исходный размер 800x428

Из геометрии в VDB для последующего создания коллизии между волосами и геометрией.

Чтобы заполнить пустые полости используется нода Polyfill с подфункцией Single Polygon — таки образом, полости заполняются одним полигоном, не образовывая лишние элементы в сетке. Далее с помощью ноды VDB from polygons — меш геометрии преобразовывается в объемное замкнутое поле.

Инициализация направляющих с помощью Guide Groom

Исходный размер 1900x772

Guide Groom — инструмент для создания направляющих

Узел Guide Groom является центральным инструментом для создания и редактирования направляющих кривых. Этот узел предоставляет интерактивное рабочее пространство с широким набором инструментов для рисования, размещения и скульптинга кривых непосредственно на поверхности скальпа.

Исходный размер 800x418

Инициализация направляющих с помощью Guide Groom

При создании узла Guide Groom необходимо связать его с подготовленной геометрией скальпа через параметр Rest Skin Source, указав путь к выходному узлу OUT_density. В параметрах инициализации устанавливается метод генерации начальных направляющих — для прически Дольфия рекомендуется использовать режим Skin Attribute для параметра density, указав имя ранее созданного с помощью маски атрибута плотности.

post
  1. Sop Path — указать нуль геометрии, на которой нарисована маска с атрибутом density.
  2. Density — Регулирование количества гайдов 3.1 Skin attribute — смена поля нанесения гайдов со всей геометрии на отдельно выбранный атрибут. 3.2 Density Attribute — выбор атрибута маски (density)
  3. Scatter Seed — параметр регулирования распространения гайдов на геометрии
  4. Segments — количество точек, на гайде (обеспечивает гибкость)
  5. Length — параметр регулирования длины гайда
  6. Display Color — смена цвета изображения гайдов
  7. Width — параметр ширины отображения гайдов

Интерактивное размещение и скульптинг направляющих

Процесс создания направляющих для прически Дольфия осуществляется послойно, начиная с ключевых «опорных» направляющих, определяющих основной силуэт и поток прически. Переключение на радиальное меню Grooming (активируется клавишей C в области просмотра) предоставляет быстрый доступ ко всем инструментам груминга.

Исходный размер 800x418

Интерактивное размещение и скульптинг направляющих внутри Guide Groom

post

Основные инструменты для создания гайдов в Guide Groom Draw — рисовать гайд Plant — вырастить гайд Delete — удалить гайд Cut — подстричь гайд Sculpt — скульптинг формы гайда Straighten — выпрямление гайда Lift — поднятие гайда у основания Adjust Length — добавление длины гайду Smooth — смягчение формы гайда Move — перемещение гайда за основание Relax — смягчение формы гайда Clump — сближение крайних гайдов в локон Blur — смягчение формы гайда

Первый слой — опорные направляющие. Используя инструмент Draw из подменю Create & Move, художник рисует 15-20 ключевых направляющих, определяющих основные потоки волос от линии роста на лбу к задней части головы и далее вниз к плечам. Для прически Дольфия критически важно установить правильное распределение: симметричные боковые потоки, обрамляющие лицо, и центральный поток, который впоследствии будет преобразован в косу. При рисовании направляющих рекомендуется работать по секциям, начиная с центральной линии пробора и последовательно добавляя боковые зоны.

Исходный размер 3840x2160

Первый слой гайдов, обрамляющий лицо

Второй слой — контурные направляющие. Инструмент Plant в режиме Single используется для размещения направляющих вдоль контура линии роста волос и по границам различных зон прически. Эти направляющие определяют профиль прически и обеспечивают плавные переходы между различными секциями. Для прически Дольфия особое внимание уделяется контурным направляющим вокруг лица, где волосы должны мягко обрамлять черты, и вдоль центральной зоны, предназначенной для косы.​

Исходный размер 3840x2160

Второй слой гайдов — расстановка направляющих в доль основных контуров

Третий слой — заполняющие направляющие. После установления основного потока и контуров используется инструмент Plant в режиме Scatter для заполнения промежуточных областей направляющими со средней плотностью. Параметры Radius и Density настраиваются для контроля количества и распределения размещаемых направляющих. Для длинных волос рекомендуется плотность 50-100 направляющих на область скальпа размером 10×10 единиц, что обеспечивает достаточную детализацию без избыточной геометрии.

Исходный размер 3840x2160

Расстановка третьего уровня гайдов

Исходный размер 3840x2160

Гайды в виде распасовки на этапы

Инструменты скульптинга используются для уточнения формы направляющих. Инструмент Brush позволяет «причесывать» направляющие, задавая им желаемое направление от корня. Параметр Lift контролирует подъем волос относительно поверхности скальпа — для прически Дольфия устанавливается значение 0.2-0.4, обеспечивая естественный объем у корней. Инструмент Smooth применяется для сглаживания высокочастотных неровностей и создания плавных переходов в потоке волос.

Исходный размер 800x418

Обзор системы гайдов на персонаже

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

Исходный размер 1920x1080

Отличие ручной расстановки гайдов от ручного способа с добавлением генерации количества гайдов

1. Параметр «density» управляет количеством гайдов 2. В атрибуте к этому параметру важно выбрать «skin attribute» (маску «density») — это расставит гайды только на той территории геометрии, которая обозначена для волос. 3. Так в параметре «Density Attrib» — выбирается маска для гайдов под волосы. 4. Параметр «Influence Radius» регулирует влияние гайдов на генерацию волос.

Исходный размер 1920x1080

Настройки ноды HairGen для генерации большего количества гайдов по заранее сделанной маске «density»

Чтобы начать генерацию волос из направляющих, необходимо подключить гайды к контейнеру «HairGen». Затем настроить частоту-количество волос по маске «density».

Исходный размер 800x418

Генерация волос из расставленных гайдов с помощью ноды в obj контексте «HairGen»

Также есть параметр «Thickness», который помогает контролировать значение толщины волоса и его поведение по рампе на протяжении всей длины.

Исходный размер 1876x765

Контроль толщины волоса по рампе «Thickness»

Чтобы распределить волосы, которые сгенерировались по маске в хаотичном порядке, необходимо применить «HairClump» уже внутри самого контейнера «HairGen». Это сформирует локоны, которые можно будет тоже расформировать на более мелкие и тонкие локоны.

Исходный размер 1780x765

Распределение волос на локоны с помощью ноды «HairClump»

Генерация более мелких локонов из предыдущей генерации:

Исходный размер 1780x765

Распределение волос на более мелкие локоны с помощью ноды «HairClump»

Для добавления реалистичного эффекта волосу, добавляют генератор «шума» в волос. Так прическа выглядит более хаотичной и обыденной.

Исходный размер 1706x505

Слева пример локонов без добавления шума, справа локоны с генерацией шума с помощью ноды «Guide process» (Frizz)

Также есть возможность создать маску на самих волосах, чтобы выборочно наложить необходимый эффект.

Исходный размер 1780x707

Создание рандомизированной маски на волосы («random mask»), с помощью ноды «guide mask»

Далее с помощью ноды «Guide process» (frizz), указывая атрибут направляющих, создается шум на рандомизированные волосы, находящиеся в маске.

Исходный размер 1780x707

Создание шума на рандомизированные волосы, находящиеся в маске с помощью ноды «Guide process»

Так же по маске «random_mask» корректируется длина отдельных рандомных волос.

Исходный размер 1780x707

Уменьшение длины рандомизированных волос, находящихся в маске с помощью ноды «Guide process» (set length)

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

Исходный размер 1780x707

Создание направляющих для «Baby Hair» с помощью ноды «GuideGroom»

Исходный размер 1780x707

Генерация волос из направляющих «Baby Hair» с помощью ноды «HairGen»

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

Исходный размер 1780x707

Создание направляющих для «Волос в проборе» с помощью ноды «GuideGroom»

Исходный размер 1780x707

Генерация волос из направляющих «Волос в проборе» с помощью ноды «HairGen»

Настройки шейдера

Исходный размер 800x418

Настройка шейдера волос в стандартном материале «HairStandart»

post

Base color — настраивается основной цвет у волос. Melanin — настраивается количество меланина в составе волоса (0 — нет меланина, 1 — большое количество меланина) Melanin Redness — параметр контроля красного пигмента в меланине. Melanin Randomize — Рандомизируется параметр меланина на волосах. Thickness Scale — меняется цвет основываясь на параметре толщины/густоты волос.

Рендера получившейся волосяной системы

Исходный размер 1376x707

Рендера системы волос «Baby Hair» и «Центрального пробора»

Исходный размер 1376x707

Рендера системы волос без геометрии

Исходный размер 1376x707

Рендера системы волос c геометрией

Глава:
2
3
4
5
6
Мы используем файлы cookies для улучшения работы сайта НИУ ВШЭ и большего удобства его использования. Более подробную...
Показать больше