Houdini 20.0 Nodes Geometry nodes

Attribute Combine geometry node

Combines multiple attributes into a new attribute.

The Attribute Combine SOP combines multiple attributes into a new attribute. It performs a series of layering operations, allowing each combined attribute to blended independently.

Parameters

Groups and Blending

Group

Portion of the geometry to update with the new attribute values.

Group Type

The type of elements referenced by the group.

Destination

Name of the destination attribute to write to. This can be an existing attribute, in which case its size and type is maintained. It can also be one of the attributes used as a source.

If the destination attribute doesn’t exist, a default version of the first attribute will be used. This behavior changes depending on the Create Destination Attribute and Create Missing Destination as Scalar parameters.

Class

The class of attribute to process: point, primitive, vertex, or detail. All the source attributes must be of the same class.

Number of Combines

For each combination the same layering process is performed.

The current value of the destination attribute is read. The source attribute is read and processed with the scale, add, and process parameters to get a source value.

The source value and destination attribute then combined with the operation to get a new destination value. Finally, the destination value is blended into the destination attribute using the blend scale and blend attribute.

Enable

Whether to process this combination. If disabled, the combination is not applied.

Operation

How to combine the processed source value with the current destination attribute to get the candidate destination value for blending.

Copy

The source value is the candidate, the destination attribute value is ignored.

Add

The sum of the source value and the destination attribute.

Subtract

Subtract the source value from the destination attribute.

Multiply

Multiply the source value with the destination attribute.

Divide

Divide the destination attribute by the source value.

Maximum

Use the largest of the destination attribute and the source value.

Minimum

Use the smallest of the destination attribute and the source value.

Adjust

Adjustments to the source value prior to mixing into the current destination. This can save the need to pre-process attributes to get them into the correct range.

None

No adjustments are performed.

Scale

The source attribute is scaled.

Scale + Add

The source attribute is scaled, and then an offset is added to it.

Scale + Add + Process

The source attribute is scaled. Then an offset is added to it. Finally, a processing operation is performed.

Source

Source attribute to apply. If the destination attribute is scalar, the length of the source attribute is used. If the destination attribute is a vector and the source a scalar, it is extended by replicating the value. If both are vector, the source attribute is either truncated or zero-extended to match the destination attribute.

If blank and no source attribute is specified, an implicit zero attribute will be used as the source. The Add parameter can then be used to set the value of the source, allowing the setup of constant-value operations and blends.

Source Input

Which input to read the source attribute from.

Unmatched elements will act as if the source attribute had a zero value.

Scale

The source attribute is scaled by this to get the source value. This is done prior to the addition or processing steps.

Add

The scaled source attribute has this added to get the source value. This is done prior to the processing step.

Process

After scaling and adding to the source attribute, the source value is finally processed with this operation. The result of this is then applied using the operation selected.

None

No processing is performed.

Reciprocal (1/x)

The value is inverted. 1/0 is set to 0.

Clamp 0-1

The value is clamped into the range 0-1.

Complement and Clamp 0-1

The value is complemented (subtracted from one) and then clamped to the range 0-1.

Threshold 0.5

If the value is strictly greater than 0.5, it is set to 1. If less or equal, it is set to 0. This can be used to do a hard-mix.

Blend

The final computed source value; after mixing with the current destination attribute using the operation, is blended into the new destination attribute. This is a linear interpolation using this scale factor, zero will leave the destination unchanged and one will replace it with the computed value. The final blend amount is clamped to 0-1.

Blend Attrib

Constant

Use the blend scale alone, so all the elements receive the same blending amount.

Attribute

Vary the blending per element using this attribute. If the attribute is not scalar, its length is used.

Blend Attrib

An attribute to provide per-element blending amounts. Zero will leave the destination unchanged and one will replace with the computed value. However, this is scaled by the Blend parameter, and clamping is done after the scaling. So if the blend attribute isn’t in a 0-1 normalized range the Blend parameter can be used to scale it appropriately.

Blend Input

Which input to read the blend attribute from. Unmatched elements will have a blend value of zero.

Post-Processing

Post processing is done to all of the elements affected by the group. This does not depend on any of the blend settings - even if an element was untouched by the earlier combines, it will still be processed by this.

Overall Scale

Scale the resulting value by this amount.

Do Threshold

Thresholding allows a continuous attribute to be switched to an on/off values depending on if it crosses a threshold value.

Threshold

If the attribute exceeds this threshold value, replace it with the maximum clamp value. If it is below or equal to it, replace with the minimum clamp value. For vector attributes, this is done per component.

Clamp Minimum

Enable clamping of the final value by the minimum value.

Clamp Minimum

The minimum value to clamp to (or threshold to).

Clamp Maximum

Enable clamping of the final value by the maximum value.

Clamp Maximum

The maximum value to clamp to (or threshold to).

Attribute to Match

The attribute to use to match between the two inputs. If not present, the element number will be used.

Create Missing Destination

If the destination attribute doesn’t exist, try to create it by matching the first of the source attributes.

Create Missing Destination as Scalar

If the destination attribute does not exist always create a float attribute. This has the effect of making an implicit length computation for all source vector attributes.

Delete Source Attributes

Remove all the source attributes after processing, unless one of them is also the destination attribute. This is useful for cleaning up temporary attributes that were created to assist in computation.

Error on Missing Attributes

If specified attributes other than the destination are missing, raise an error. If erroring is disabled; missing source attributes will cause that combination to be skipped as if it were disabled. Missing blend attributes will be treated as if the blend attribute was 1.0 everywhere.

See also

Geometry nodes