Нода «Захват атрибута» (capture attribute node)

Нода ":abbr:`Захват атрибута (Capture Attribute)`".

Нода „Capture Attribute“ хранит одно или несколько полей геометрии и выводит эти же поля, чтобы их могли считать другие ноды.

Сохранение и извлечение поля также можно выполнять с помощью ноды Store Named Attribute и ноды Named Attribute. Разница заключается в том, что нода Capture Attribute создаёт анонимный атрибут, что означает отсутствие необходимости указывать имя и отсутствие перегруженности в конце. Это делает ноду идеальной для временного хранения данных.

Распространённым вариантом использования является сохранение информации, которая обычно теряется при преобразовании геометрии – см. пример ниже.

Примечание

Новый атрибут доступен только в геометрии, создаваемой этой нодой. Он не может быть прочитан в геометрии «родственных» или «вышестоящих» нод.

Входы (inputs)

Геометрия (geometry)

Стандартный вход геометрии.

Элементы захвата (capture items)

Поля для сохранения. Входы можно добавлять, подключая выход другой ноды к пустому входу этой ноды или используя список „элементов захвата“ на панели „cвойств“ ноды в N-панели.

Входы можно переименовывать, щёлкая по ним прямо на ноде с Ctrl-ЛКМ или в её списке „элементов захвата“. В последнем случае также поддерживается и двойной щелчок.

Свойства (properties)

Домен (domain)

Домен атрибута, используемый для хранения оценённых данных.

Элементы захвата (capture items)

Ссылка

Меню:

Боковая панель ‣ Нода ‣ Свойства ‣ Элементы захвата Sidebar ‣ Node ‣ Properties ‣ Capture Items

Поле «список» для добавления, удаления, переупорядочивания и переименования входов ноды.

Тип данных (data type)

Тип данных выделенного входа.

Выходы (outputs)

Геометрия (geometry)

Стандартный вывод геометрии.

Атрибут (attribute)

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

Пример

../../../_images/modeling_geometry-nodes_attribute_capture-attribute_example.png

Цель этого примера – превратить кривую в цилиндрический меш с отсечёнными через равные промежутки фрагментами. На первый взгляд эта задача кажется простой: использовать ноду Curve to Mesh для создания трубки, cчитать ноду Spline Parameter, чтобы определить, где находится каждая вершина трубки на исходной кривой, и выполнить некоторые математические расчёты, чтобы решить то, где следует удалять вершины.

Однако само по себе это не работает: нода Spline Parameter вычисляет свои выходные данные «на лету», и она может делать это только для кривых. После преобразования кривой в меш, – эту ноду больше нельзя использовать.

Здесь на помощь приходит нода Capture Attribute: она может хранить вычисленное расстояние до каждой контрольной точки кривой. Затем нода Curve to Mesh переносит эти значения в вершины меша (как она делает это для любого другого атрибута). Оттуда атрибут можно получить снова, подключившись к той же ноде Capture Attribute, которая его сохранила.