big
Введение

Введение

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

Процедурное моделирование активно используется в кино для создания масштабных сцен окружения. Например, в фильме «Притяжение» (2017) для сцены с падением космического корабля на Чертаново процедурных подход использовался для создания детализированных многоэтажек, которые после разрушались в кадре.

big
Original size 900x506
big
Original size 1800x754

«Притяжение», VFX-брейкдаун, 2017

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

Original size 1800x1161

Entagma, Product Lineup

Процедурное моделирование также часто используется для создания игровых локаций — например, в проекте «The Matrix Awakens» (2021) процедурные правила определяют, как генерируется мир, от размера дорог и высоты зданий, до количества мусора на тротуарах.

Original size 1800x1007

Открытый мир The Matrix Awakens (2021)

Обобщая, можно выделить несколько ключевых преимуществ процедурного подхода:

Original size 1800x1273

Работа с референсами

Работа над созданием процедурного объекта начинается с подбора референсов, на которые вы будете опираться в процессе. Подбор и анализ референсов помогает структурировать задачу и определить параметры, которые в дальнейшем лягут в основу процедурного объекта.

Чтобы определить с чего стоит начать работу над объектом, подумайте над этими вопросами:

0

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

Например, основой для проекта Procedural Scandinavian Cottage Generator, стал набор референсов с типовыми скандинавскими домиками.

Референсы скандинавских коттеджей

Основная структура:

  • Стены
  • Крыша
  • Окна и двери

Повторяющиеся элементы:

  • Этажи дома, окна
  • Вагонка
  • Черепица на крыше

Вариации:

  • Пропорции дома (длина/высота/ширина)
  • Высота фундамента
  • Форма крыши
  • Форма наличников и двери
  • Наличие/отсутствие трубы и крыльца
  • Размеры и форма элементов (окна, дверь, труба)
  • Цвет вагонки и черепицы
Original size 1498x1498

Результаты генерации

Основные инструменты

В Houdini процесс моделирования строится на работе с SOP (Surface Operators) нодами, каждая из которых выполняет определенную операцию над геометрией. Дерево нод работает по принципу последовательности операций: каждая нода получает входные данные, изменяет их и передает дальше.

К основным типам SOP-нод можно отнести:

  • Примитивы — ноды, создающие геометрию (Box, Circle, Grid, Line, Platonic Solids, Sphere, Torus, Tube и др.).
  • Модификаторы — ноды, которые позволяют изменять форму и положение объектов (Transform, Edit, Bend, Mountine, Peak, Smooth и др.).
  • Генераторы — ноды для копирования и инстанцирования объектов на точки (Scatter, Copy to Points, Instance).
  • Атрибуты и группы — инструменты для работы с данными внутри геометрии (Attribute Wrangle, Attribute VOP, Group и др.).
  • Контроллеры — ноды, позволяющие управлять геометрией через параметры (Null, Switch).

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

0

Моделирование бутона, чашелистиков, стебля и тычинок

Для организации нодграфа также удобно использовать network box.

Original size 1918x1182

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

Связать значения параметров можно с помощью команд Copy Parameter и Paste Relative References

Original size 2544x1488

Parameter referencing

post

Созданные связи можно визуализировать с помощью View → Dependancy links → Show for All/Selected Nodes

Когда работа над настройкой параметров и созданием Parameter References закончена, можно вынести все необходимые для настройки параметры в единый интерфейс. Для этого, создадим на основе получившегося нодграфа Houdini Digital Asset (HDA).

Для этого выделим нодграф, и перейдем в AssetsNew Digital Asset From Selection…

Original size 1080x820

Создание hda

Вынесем необходимые параметры в интерфейс ассета:

  1. Перейдем в AssetsEdit Asset PropertiesProc_flower_tool
  2. В появившееся окно Existing Parameters можно перетащить нужный параметр и нажать Accept
  3. В строке Label отредактируем имя параметра
  4. В строке Range изменим диапазон возможных значений. Например, для параметра, определяющего количество лепестков в бутоне, можно выставить диапазон от 5 до 20

Original size 1920x1328

Теперь этими параметрами можно управлять прямо из интерфейса ассета, не заходя внутрь. Созданный ассет также можно добавить в сцену через Tab Menu — он появится как обычная SOP-нода.

Original size 1920x1200
post

Созданный через Tab Menu ассет появится в сцене в режиме non-editable, о чем говорит значок серого замка под именем ноды. Режим non-editable означает, что находящиеся внутри ноды недоступны для изменения, так как ассет ссылается на наш оригинальный нетворк.

post

Если нужно изменить содержимое ассета:

  1. Используйте Allow Editing of Contents (переводит ассет в режим editable)
  2. После внесения правок — Match Current Definition (сохранение обновляет все копии)
  3. 
 


Внесенные изменения также можно сохранить через AssetsSave assetProc_flower_tool, после чего все копии ассета также обновятся.

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

Original size 1800x844

XK Studio. Timberland x Liberty

Задание

Описание Выберите объект, для которого можно создать некоторое количество вариаций параметров, соберите и проанализируйте референсы, и создайте процедурный сетап в Houdini FX.

Условие
 Сетап должен содержать не менее 5 параметров

Результат Набор референсов, .hip файл проекта