On this page |

## 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** and **Group**.

Vertex Attributes

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

Primitive Attributes

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

Detail Attributes

These detail attributes or groups 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**.

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**.

See also |