Простейший Cast To Sphere модификатор на Blender Geometry Nodes

Большинство модификаторов Blender можно реализовать при помощи Geometry Nodes. Например, для реализации модификатора “округления” меша Cast To Sphere потребуется всего 5 нод.

Добавим в сцену меш Сюзанну (shift + a – Mesh – Monkey), назначим на него модификатор Geometry Nodes и инициируем дерево геометрических нод нажатием на кнопку New.

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

Для манипуляций с вектором Position меша добавим в дерево нод Set Position (shift + a – Geometry – Write – Set Position).

Текущее значение Position для каждой точки меша мы можем получить при помощи нода Position. Добавим его в дерево нод (shift + a – Geometry – Read – Position) и слинкуем его выход Position со входом Position нода Set Position.

Пока ничего не изменилось, но добавим немного магии преобразования векторов: после нода Position вставим нод Vector Math (shift + a – Utilities – Vector – Vector Math) и переключим его в режим Normalize.

Нормализация вектора преобразует его так, чтобы вектор сохранял свое направление, но при этом его длина была бы равна 1.

Поэтому теперь все точки меша Сюзанны лежат на поверхности сферы с радиусом равным 1.

Чтобы результат был более гладким, в главную ветку нодового дерева добавим нод Subdivision Surface (shift + a – Mesh – Operator – Subdivision Surface) для увеличения детализации меша. Уровень подразбиения Level поставим равный 2.

Таким образом мы получили из Сюзанны сферу.

Для фиксации промежуточных состояний меша, добавим после нода Normalize нод Mix Vector (shift + a – Utilities – Vector – Mix Vector). Оставшийся свободным вход B соединим с выходом Vector нода Position.

Нод Mix Vector находит пропорциональное значение между двумя векторами со входов A и B, а величина пропорции определяется полем Factor.

В нашем случае мы получаем промежуточное значение вектора Position между его изначальным значением в меше Сюзанна и нормализованным значением – приведенным к единичной длине.

Подвигав ползунок в поле Factor, мы можем визуально наблюдать процесс преобразования Сюзанны в сферу и обратно.

0 0 голоса
Article Rating
Подписаться
Уведомить о
guest

0 Комментарий
Межтекстовые Отзывы
Посмотреть все комментарии