big

Введение

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

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

big
Original size 900x506
big
Original size 3456x1448

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

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

Original size 2449x1579

Entagma, Product Lineup

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

Original size 3456x1934

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

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

Original size 3508x2480

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

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

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

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).

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

[gif с проектом будут обновлены]

0

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

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

Связи можно визуализировать с помощью View — Dependancy links — Show for selected nodes

Original size 2544x1488

Parameter referencing

На этом этапе для удобства параметры можно вынести в отдельную ноду null.

0

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

Original size 1918x1182

[Будет добавлен раздел про создание HDA]

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

[Рендеры будут заменены]

Original size 2834x1329

XK Studio. EXISTING_LINK_0_1761373878309_5mv0×7yod

Задание

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

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

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

Введение / материалы
4