Capture Attribute Node
The Capture Attribute node stores the result of a field on a geometry, and outputs the data as a node socket so it can be used by other nodes.
The result is stored on the geometry just like a regular attribute with a name, but instead of referencing it with a name, it is retrieved whenever the socket is connected to the input of a node. Later on when evaluating the node tree, the attribute will be removed automatically if it is no longer used.
This node is essential because field input nodes like the Radius Node
work in the context of the node they are connected to. Meaning that in order to pass data like
to a geometry that doesn’t have radius, an explicit node link with the output of this node must be used.
Because this node stores an anonymous attribute in the geometry, it’s essential to use the geometry output for further operations in the node tree. The anonymous attribute will not exist for any other geometry besides the output.
Standard geometry input.
The input field to evaluate.
Standard geometry output.
The result of the evaluated field, stored on the geometry.
Here, a noise texture is evaluated in along the path of the curve in one dimension and rendered with a shader. The capture node is required because the output of the Curve to Mesh Node does not have a “curve parameter”, since it is a mesh and not a curve. So, the Spline Parameter Node must be evaluated while the geometry is still a curve.
Internally, after the noise texture is evaluated on the curve, it is automatically copied to the mesh result of the Curve to Mesh node. This means that anywhere Attribute output of this node can be connected along the same stream of geometry nodes, the internal attribute will be available.