Радиальный массив в Blender на Geometry Nodes

Для создания радиальных массивов – расположения объектов по круговому контуру, обычно используют модификатор Array. Однако такой массив можно легко сделать в Blender при помощи Geometry Nodes.

Добавим в сцену объект, который нужно размножить по круговому контуру, например, Сюзанну (shift + a – Mesh – Monkey). Назначим ему модификатор Geometry Nodes и создадим начальное дерево нод, нажав на кнопку “New”.

Для начала добавим кривую в форме круга (shift + a – Curve – Primitives – Curve Circle), по точкам которой мы в дальнейшем будем размещать инстансы меша. В параметре Resolution установим количество будущих объектов, размещенных по кругу, например, 5.

Для того чтобы в каждой точке кривой разместить инстанс Сюзанны, добавим нод Instance on Points (shift + a – Instances – Instance on Points). Соединим его вход Points с выходом Curve нода Curve Circle, а вход Instance с выходом Geometry нода Geometry Input, который отвечает за начальную геометрию меша.

Как мы видим, теперь в каждой точке кривой размещается инстанс начального меша. Его масштаб можно подкорректировать, изменяя значение в поле Scale нода Instance on Points.

Меш размещен по кругу, однако его направление взгляда осталось прежним.

Сориентировать меш так, чтобы он смотрел в центр круга можно при помощи нода Align Euler to Vector (shift + a – Utilities – Rotation – Align Euler to Vector). Этот нод позволяет повернуть одну из осей объекта так, чтобы она смотрела вдоль задающей оси.

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

Нормаль к кривой мы можем получить при помощи нода Curve to Points (shift + a – Curve – Operators – Curve to Points). Добавим этот нод в дерево сразу за нодом Curve Circle.

Обратите внимание на то, что в параметре Count нужно выставить то же самое значение, которое мы выставляли в параметре Resolution нода Curve Circle – 5, чтобы не образовывались дополнительные точки.

В построении радиального массива ничего не изменилось, однако теперь мы можем считать нормаль к кривой с выхода Normal нода Curve to Points.

Соединим этот выход со входом Vector нода Align Euler to Vector, а выход Rotation этого нода соединим со входом Rotation нода Instance on Points.

В параметрах нода Align Euler to Vector укажем для применения ось Y.

Теперь все Сюзанны “смотрят” так, как нам требуется.

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

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