Houdini 20.5 Nodes Geometry nodes

Fuse 2.0 geometry node

Merges or snaps points.

On this page
Since 17.5

The Fuse SOP is used to snap points together or snap points to a 3D grid, and optionally fusing points after the snap.

To restrict the points that can fuse and be fused to, points can be query points, or target points, or both. With only one input to the node, both query and target points are from the single input. However, with a second input to the node, only points in the first input can be query points and only points in the second input can be target points.

Tip

When fusing multiple line primitives into a single line, they will still maintain separate primitives. If you wish to make the result into a single primitive, append the Join SOP with Only Connected enabled.

You can snap points based on their proximity to each other (given by the distance threshold) without fusing them. The snap type has more options on the actual snap behavior. This method is commonly used on a small selection of points in classic modeling operations.

Snapping to a grid is useful for grabbing points and ordering them to a 3D grid. This method is commonly used on individual point selections in classic modeling operations. Snapping to a grid is also useful when outputting to low res consoles as you can truncate vertices to lie on a certain integer boundaries globally on the model.

Snapping only moves points to new positions. To rewire the vertices of points that were snapped together, you can choose to fuse points after snapping so that only one point retains vertices from the original points.

You can select point attributes and groups that you want to be modified after a point is snapped. You can also specify the heuristics for how the attributes values should be interpolated and how group membership should be assigned.

Fuse shelf tool

Welds the selected points together so all vertices inside now share the same point.

  1. Select the points you want to merge.

  2. Click the Fuse tool on the Polygon tab.

The merge is based on the proximity of the points to each other. You can change the threshold distance in the parameter editor.

Snap shelf tool

Snaps selected points to the same position but keeps them separate.

  1. Select the points you want to snap to the same position.

  2. Click the Snap tool on the Polygon tab.

Snapping is based on the proximity of the points to each other. You can change the threshold distance in the parameter editor.

Parameters

Group

Subset of points that will be snapped.

Target Group

When enabled, this is the subset of points that will be snapped to by query points. Otherwise, the query group is also the target group, and the behavior is as if Modify Target is on, regardless of its actual value. When there is a second input connected, this group refers to the second input. When Snap Type is “Grid”, there is no target group.

Modify Target

When disabled, target point attribute values will stay fixed and be copied over to query points, which is useful for fusing to existing geometry. When enabled, both query and target point attributes will be modified and used to interpolate the new attribute value. This is useful if you still want only one subset of points to fuse with another subset, but so that both subsets can be modified (for example, when snapping two mirrored halves together). This parameter is not applicable when a second input is connected, since that geometry cannot be modified.

Position Attribute

This attribute will be used as the position for determining what to snap where. This attribute can be a point, vertex, or primitive attribute in the first input, and can be a point, vertex, primitive, or detail attribute in the second input; they do not need to be the same. The Group and Target Group parameters will be parsed as the corresponding type of group. If this attribute is not a point attribute in the first input, the Fuse options do not apply, because only points can be fused together.

Snap

Snap To

The method used to determine which points to snap where.

Near Points

Snap query points to target points within a specified Snap Distance.

Grid

Snap points to positions in a 3D grid.

Specified Points

Snap query points to specific target points as specified in the Target Points Attribute.

Near Points

Using

The overall method used for determining which points to snap together. The “Least Target Point Number” method snaps points to the lowest target point number in range, which can ensure that after snapping, if Output Positions is “Least Point Number”, no differently snapped points will be within Snap Distance of each other. The “Closest Target Point” method snaps points to the closest target point, if it is in range, which is preferable if snapping disjoint pieces together.

Snap Distance

The maximum distance to snap points together.

Output Positions

The method to use to combine values of Position Attribute when snapping points together.

Average Value

Positions are computed as the average of snapped positions.

Least Point Number

The position of the snapped point with the least point number is used.

Greatest Point Number

The position of the snapped point with the greatest point number is used.

Maximum Value

Each component of the position is set to the maximum value of that component among the snapped points.

Minimum Value

Each component of the position is set to the minimum value of that component among the snapped points.

Mode

Each component is set to the mode of the values of that component among the snapped points.

Median

Each component is set to the median of the values of that component among the snapped points.

Sum

Positions are computed as the sum of snapped positions.

Sum of Squares

Positions are computed as the sum of squares of snapped positions. Positions are squared component wise.

Root Mean Square

Positions are computed as the root mean square of each component of the snapped positions.

Weighted Average

Positions are computed as the weighted average of snapped positions using the Weight Attribute.

Weighted Sum

Positions are computed as the weighted sum of snapped positions using the Weight Attribute.

Minimum Weight

Positions are set to the position of the snapped point with the minimum Weight Attribute value.

Maximum Weight

Positions are set to the position of the snapped point with the maximum Weight Attribute value.

Weight Attribute

A floating point or integer weight attribute that is used when Output Positions is set to Weighted Average, Weighted Sum, Minimum Weight, or Maximum Weight. This attribute is on the target geometry and is on the same geometry type as the Position Attribute.

Radius Attribute

When enabled, the point attribute with this name is used to specify the radii of the points. Two points will be able to fuse together if the closest distance between their spheres with the corresponding radius is within the Snap Distance.

Match Attribute

When enabled, the point attribute with this name is used to limit which points can be snapped together by comparing this attribute’s values for the corresponding points. The comparison is specified by the Match Condition. This attribute can only be an integer or string attribute.

Match Condition

The comparison to use for comparing the Match Attribute values of points. “Equal Attribute Values” requires values of Match Attribute to be equal in order for points to be considered for snapping together, which is useful for snapping within several separate pieces and not between pieces. “Unequal Attribute Values” requires that at least one point has a different value than the rest, which is useful for snapping between several separate pieces and not within pieces.

Match Tolerance

Specifies the amount that Match Attribute values may differ and still be considered equal when using a floating point Match Attribute.

Grid

Grid Type

How to specify the grid size.

Grid Spacing

Specify the number of units between each grid line.

Grid Lines

Specify the number of grid lines every unit.

Power of 2 Grid Lines

Specify the number of grid lines every unit by powers of 2.

Grid Spacing

The number of units between each grid line.

Grid Lines

The number of grid lines every unit.

Grid Power 2

The same as gridlines, but a power of two is specified. This means a value of 7 means 128, and 9 means 512.

Grid Offset

A number from 0 to 1 which specifies what offset the grid should have from (0,0,0).

Grid Rounding

Which way points should snap to the grid.

Nearest

Snap to closest grid point.

Down

Snap to the closest grid position, in which the position components are all at most equal to the query point position.

Up

Snap to the closest grid position, in which the position components are all at least equal to the query point position.

Grid Tolerance

Maximum distance to move points to grid.

Specified Points

Target Points Attribute

An integer attribute on the query geometry specifying which element to snap each query element to. Snapping is only performed if the specified element number is found in the target geometry. The Target Points Attribute must be on the same geometry class as the query position attribute, and the element numbers refer to elements of the Target Class.

Target Class

The geometry class that the Target Points Attribute points to. This should be the same class as the position attribute on the target geometry.

Fuse

Fuse Snapped Points

When enabled, points that are snapped to the same position will be replaced with a single point, connected to all vertices of the original points.

Keep Fused Points

When enabled, points that would otherwise be deleted by the Fuse Snapped Points option are kept.

Remove Repeated Vertices and Degenerate Primitives

Remove sequential vertices that reference the same point in polygons or curves, and then deletes any degenerate primitives, such as closed polygons with 2 or fewer vertices, or polygon curves with 1 or fewer vertices.

Remove Unused Points from Degenerate Primitives

Remove any points that no longer have vertices connected to them due to the deletion of degenerate primitives.

Remove All Unused Points

Remove all points that have no vertices connected to them.

Output Attributes and Groups

Recompute Affected Normals

Recomputes any normals that are affected by polygons that use any fused points.

Snapped Points Group

When enabled, a point group with this name is created containing all points that snapped to another point.

Snapped Destination Attribute

When enabled, a point attribute with this name is created, which contains the point number of the point that was snapped to, or -1 if not applicable.

Attributes to Snap

The number of patterns of attributes to be modified.

Output Values

The heuristic to use to determine the new attribute value of a point based on the points that it snapped to. These interpolate over only target points, unless Modify Target is enabled. “First Match” will snap to the attribute value of the point with the least point number. Likewise, “Last Match” will snap to the point with the greatest number.

Average Value

Attributes are computed as the average of snapped point attribute values. Applies to numerical attributes.

Least Point Number

The attribute value of the snapped point with the least point number is used.

Greatest Point Number

The attribute value of the snapped point with the greatest point number is used.

Maximum Value

Each component of the attribute is set to the maximum value of that component among the snapped points. Applies to string and numerical attributes.

Minimum Value

Each component of the attribute is set to the minimum value of that component among the snapped points. Applies to string and numerical attributes.

Mode

Each component is set to the mode of the values of that component among the snapped points. Applies to string and numerical attributes.

Median

Each component is set to the median of the values of that component among the snapped points. Applies to string and numerical attributes.

Sum

Attribute values are computed as the sum of attribute values of snapped points. Applies to numerical attributes.

Sum of Squares

Attribute values are computed as the sum of squares of attribute values of snapped points. Attribute values are squared component wise. Applies to numerical attributes.

Root Mean Square

Attribute values are computed as the root mean square of each component of the attribute values of the snapped points. Applies to numerical attributes.

Concatenate

Attribute values of the snapped points are concatenated together. Applies to string, array, dictionary and numerical attributes. For string and array attributes, values are concatenated together, and for dictionary attributes, individual dictionaries are merged. For numerical attributes, an array attribute of the same name is created to replace the attribute, which will contain the array of attribute values of fused target points.

Weighted Average

Attribute values are computed as the weighted average of attribute values of the snapped points using the Weight Attribute. Applies to numerical attributes.

Weighted Sum

Attribute values are computed as the weighted sum of attribute values of the snapped points using the Weight Attribute. Applies to numerical attributes.

Minimum Weight

Attribute values are set to the attribute value of the snapped point with the minimum Weight Attribute value.

Maximum Weight

Attribute values are set to the attribute value of the snapped point with the maximum Weight Attribute value.

Concatenate in Weight Order

Attribute values of the snapped points are concatenated in the order of increasing Weight Attribute value. See Concatenate for the acceptable types and their behaviours.

Point Attributes

The point attributes that you want to be merged together after fusing. Only certain types of attributes can be used for each Snap Method.

Weight Attribute

A floating point or integer weight attribute that is used to merge attribute values when Output Values is set to Weighted Average, Weighted Sum, Minimum Weight, Maximum Weight, or Concatenate in Weight Order. This attribute is on the target geometry and is on the same geometry type as the Position Attribute.

Groups to Snap

The number of patterns of groups to be modified.

Group Propagation

The heuristic to use to determine how the points get assigned to the Point Groups of the points they snapped to.

Least Point Number

Group membership is determined by the snapped point with the least point number.

Greatest Point Number

Group membership is determined by the snapped point with the greatest point number.

Union

Snapped points are included if any snapped point is in the group.

Intersect

Snapped points are included if all snapped points are in the group.

Most Common

Snapped points are included if more than half of the snapped points were in the group.

Point Group Names

The names of the point groups that you want to be updated after fusing according to the Group Propagation.

Examples

FuseHood Example for Fuse geometry node

This example shows how to consolidate points between unique curves using the Fuse SOP.

Three panels of a car hood are created and then fused together using the Fuse SOP.

See also

Geometry nodes