3. Практическая часть
Исходный размер 2480x3500
Данный проект является учебной работой студента Школы дизайна или исследовательской работой преподавателя Школы дизайна. Данный проект не является коммерческим и служит образовательным целям

3. Практическая часть

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

В основе каждого проекта лежит использование ноды Solver, которая позволяет быстро создавать анимацию и объединять несколько подходов в одном процессе. Так, активно дополнительно применяются VEX и циклы For-Each.

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

3.1. Рост кристаллов

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

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

Референс роста кристаллов и композиционного решения.

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

big
Исходный размер 2480x1296

Схема проекта с системой роста кристаллов.

Геометрия поверхности роста

post

Первый шаг — создание геометрии, на которой происходит рост кристаллов.

Для этой цели создаётся сфера через ноду «Sphere» (тип Primitive Type — Polygon). В параметрах увеличивается частота разбиения Frequency = 20. для большей детализации.

post

Затем добавляется нода «Mountain» для создания формы, похожей на камень.

post

Нода «Mountain» Смещение точек относительно их нормалей на основе фрактального шума.

Для изменения амплитуды смещения точек необходимо менять параметр Amplitude, для изменения размера шума воздействия — Element Size, для вариаций смещения — Offset.

Так, через подбор значений находится наиболее подходящая форма камня.

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

Изменения параметров ноды «Mountain».

post

Для того чтобы определить область роста кристаллов, добавляется нода «Mask By Feature».

post

Нода «Mask by Feature» Генерация маски на основе геометрических свойств (высота, кривизна, угол и т. д.).

Для удобства включается отображение маски. В параметре Direction выбирается направление вектора, который создает маску на поверхности. Красная зона — 1, синяя — 0.

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

Включение отображение маски и изменение направления вектора воздействия в ноде «Mask by Feature».

post

После создаётся нода «Attribute Wrangle», работающая на уровне Detail. Для отслеживания возраста процесса определяется integer атрибут age:

i@age = 0;

Этот атрибут должен быть создан заранее, чтобы Solver мог его обновлять.

post

Затем добавляется еще одна нода «Attribute Wrangle», работающая на уровне Primitives. Чтобы впоследствии можно было отделить геометрию камня от геометрии кристаллов, необходимо создать string атрибут name:

s@name = "stone" = 0;

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

Создание бокса для организации нод.

post

На выход добавляется «Null» с именем OUT_SOURCE. Это нужно для удобного рефакторинга.

Геометрия кристалла

post

Второй шаг — создание геометрии кристалла.

Для этого создаётся нода «Box», которая задаёт базовую форму.

post

Через ноду «PolyBevel» добавляются фаски у куба для создания более реалистичной формы.

post

Нода «PolyBevel» Создание закруглений вдоль эджей и углов.

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

Создание фаски через параметр Distance в ноде «PolyBevel».

post

Затем нода «Normal» настраивает сглаживание и визуально задаёт острые грани у геометрии.

post

Нода «Normal» Вычисление нормали поверхности (для корректного отображения сглаживания).

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

Настройка сглаживания через изменение параметра Cusp Angle в ноде «Normal».

post

В конце этого этапа ставится нода «Null» с именем OUT_GEO.

3. Практическая часть
Проект создан 01.12.2025
Глава:
1
2
3
4
5