Последовательный перебор объектов в коллекции при помощи Blender Geometry Nodes

При помощи нода Collection Info в Blender Geometry Nodes можно получить доступ к любому объекту, находящемуся в определенной коллекции. Обращаясь к объектам в коллекции по индексу, можно легко менять текущий отображаемый объект, симулируя, последовательный перебор объектов.

Создадим коллекцию с именем Collection и добавим в нее несколько объектов (shift + a – Mesh – …). Нажатием на иконку с глазом в Аутлайнере скроем коллекцию и все объекты в ней от отображения на экране вьюпорта.

Отдельно добавим в сцену куб, назначим ему модификатор Geometry Nodes и создадим начальное дерево нод.

Исходная геометрия куба нам будет не нужна. Заменим ее на одну точку. Для этого добавим нод Points (shift + a – Point – Points) и переключим на него главную ветку геометрии нодового дерева. Количество точек Count оставим по умолчанию (одну).

Для того чтобы получить доступ к объектам коллекции, добавим нод Collection Info (shift + a – Input – Scene – Collection Info). В поле Collection укажем созданную нами ранее коллекцию. Отметим оба чекбокса Separate Children и Reset Children.

Добавим нод Instance on Points (shift + a – Instances – Instances on Points) в главную ветку геометрии нодового дерева. Отметим чекбокс Pick Instances. Выход Instances нода Collection Info соединим со входом Instances нода Instances on Points.

Теперь объекты из нашей коллекции будут размещаться как инстансы на месте точки из нода Points.

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

Добавим нод Index (shift + a – Geometry – Read – Index). Добавим также нод Math (shift + a – Utilities – Math – Math), оставив его в режиме сложения Add. Выход Index нода Index соединим со входом A нода Add (Math). Выход Value нода Add соединим со входом Instance Index нода Instance on Points.

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

Чтобы менять целочисленные значения индекса объектов, добавим нод Integer (shift + a – Input – Constant – Integer) и соединим его выход со входом B нода Add.

Теперь мы можем удобно перебирать объекты из коллекции последовательно по индексам.

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

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