Houdini 20.0 Nodes Geometry nodes

Attribute Interpolate geometry node

Interpolates attributes within primitives or based on explicit weights.

On this page
Since 14.0

Overview

This node interpolates attribute values from the second input, the source, and writes the results to the destination. This can be done either based on the primitive number and uvw, or based on one array attribute indicating which source elements (points, vertices, or primitives) influence a particular destination element and another array attribute indicating the weights of those elements.

A simple use of this node is to move points generated with the Scatter node to stay consistent with deforming geometry, as described on the help page for the Scatter node, and in the Spiky Deforming Torus example. It can also be used similarly with points projected once using the Ray node onto deforming geometry.

This node can also output array attributes with element numbers and weights corresponding with the specified primitive number and uvw.

Parameters

Group

Group of points, vertices, or primitives, depending on Interpolate To, to which to write interpolated attribute values.

Interpolate To

The type of element, (points, vertices, primitives, or detail), to which to write interpolated attribute values.

Interpolate By

The information based-on which attribute values are interpolated.

Primitive Number and (u,v,w)

When this is selected, Element Numbers Attribute must be an integer attribute indicating, for each destination element, the source primitive number from which to interpolate attribute values, and UVW / Weights Attribute must be a vector 3 attribute containing the location in the parameter space of that source primitive indicating where in that primitive the value should be interpolated at. For example, (0.5,0.5,0.0) would represent the middle, i.e. average value of all 4 vertices, of a quadrilateral.

When using this option, Attribute Interpolate can output the point or vertex numbers and weights used for the interpolation by creating the Computed Numbers Attribute and Computed Weights Attribute array attributes.

Point Numbers and Weights

When this is selected, Element Numbers Attribute must be an integer array attribute indicating, for each destination element, the source point numbers from which to interpolate attribute values, and UVW / Weights Attribute must be a float array attribute indicating the weights of each of those source points.

Vertex Numbers and Weights

When this is selected, Element Numbers Attribute must be an integer array attribute indicating, for each destination element, the source vertex numbers from which to interpolate attribute values, and UVW / Weights Attribute must be a float array attribute indicating the weights of each of those source vertices.

Primitive Numbers and Weights

When this is selected, Element Numbers Attribute must be an integer array attribute indicating, for each destination element, the source primitive numbers from which to interpolate attribute values, and UVW / Weights Attribute must be a float array attribute indicating the weights of each of those source primitives.

Element Numbers Attribute

An attribute on the destination elements specified by Interpolate To and Group, indicating the source element numbers to interpolate attribute values from. When Interpolate By is Primitive Number and (u,v,w), this must be an integer attribute, indicating the source primitive number to interpolate point, vertex, primitive, or detail values from. When Interpolate By is Point Numbers and Weights, this must be an integer array attribute, indicating the source point numbers to interpolate point or detail values from. For Vertex Numbers and Weights, this specifies source vertex numbers for interpolating point, vertex, primitive, or detail values from. For Primitive Numbers and Weights, this specifies source primitive numbers for interpolating primitive, or detail values from.

UVW / Weights Attribute

An attribute on the destination elements specified by Interpolate To and Group, indicating the weights or location in primitive parameter space (primitive uvw) to interpolate attribute values with. When Interpolate By is Primitive Number and (u,v,w), this must be a 3 float attribute, indicating the locations in primitive parameter space; for example, (0.5,0.5,0.0) would represent the middle, i.e. average value of all 4 vertices, of a quadrilateral. When Interpolate By is any of the other options, this must be an float array attribute, indicating weights corresponding with each of the source points/vertices/primitives specified in Element Numbers Attribute.

Point Attributes

These point attributes or groups will be interpolated from the source geometry and transferred to the destination elements specified by Interpolate To, Group, and Interpolate Groups.

Vertex Attributes

These vertex attributes or groups will be interpolated from the source geometry and transferred to the destination elements specified by Interpolate To, Group, and Interpolate Groups.

Primitive Attributes

These primitive attributes or groups will be interpolated from the source geometry and transferred to the destination elements specified by Interpolate To, Group, and Interpolate Groups.

Detail Attributes

These detail attributes will be interpolated from the source geometry, i.e. multiplied by the sum of the weights, and transferred to the destination elements specified by Interpolate To and Group.

Match Groups

When enabled, groups matching the Point Attributes, Vertex Attributes, and Primitive Attributes patterns will be interpolated from the source geometry.

Compute Weights

If Interpolate By is Primitive Number and (u,v,w), this option can compute array attributes indicating the point or vertex numbers and their weights that are an equivalent representation of the interpolation. Specifically, they can be passed into Attribute Interpolate using the Point Numbers and Weights or Vertex Numbers and Weights option for Interpolate By, and the results should be the same.

Computed Numbers Attribute

If Compute Weights is enabled, an integer array attribute with this name will be created to indicate which point or vertex numbers were used in the interpolation for each destination element.

Computed Weights Attribute

If Compute Weights is enabled, a float array attribute with this name will be created to indicate the weights of each point or vertex used in the interpolation for each destination element, corresponding with the point or vertex numbers in Computed Numbers Attribute.

Pre-Scale

Multiply UVW / Weights Attribute by the specified value before interpolating. This is performed before normalization when Normalize Weights is enabled.

Normalize Weights

Normalize the incoming weights between 0 and 1 before interpolating.

Threshold

If Normalize Weights is enabled, weights must be this value or greater in order to have full weight.

Blend

If Normalize Weights is enabled, blend this amount of the existing values with the new values.

See also

Geometry nodes