Houdini 21.0 Nodes Geometry nodes

Unsubdivide geometry node

Reverses mesh modifications performed by the Catmull-Clark algorithm.

On this page

This node constructs a polygon mesh to approximate the input geometry when you apply the Catmull-Clark algorithm. For the operation to succeed, the group of polygons must have topology consistent with the result of applying Catmull-Clark subdivision. If the input geometry is not consistent with a Catmull-Clark topology, this node provides the option to unsubdivide the maximum amount possible and preserve the original primitive for all the ones it failed to unsubdivide. This node currently only supports surface geometry.

Note

The result of Catmull-Clark subdivision is a quad mesh with an even number of polygons in each quad loop.

Parameters

Group

The group of elements to operate on.

Piece Attribute

Specifies the string or integer primitive attribute to determine which primitives in the input geometry belong to each piece. When Piece Attribute is on, it unsubdivides each piece separately. For example, if Depth is on, attempts to unsubdivide each piece the maximum amount possible and the depth of unsubdivision may be different for different pieces.

Algorithm

Chooses the subdivide algorithm this node tries to undo.

Depth

Amount of unsubdivide iterations to apply. If Depth is off, attempts to unsubdivide as many iterations as possible until no work can be done on the input geometry.

Tolerance

Precision of fitting algorithm.

Allow Partial Unsubdivision

Allows the node to unsubdivide the maximum amount possible on a non Catmull-Clark topology.

Repair Mesh

If the node runs a post-processing step, it repairs all cracks generated by unsubdivision on the mesh by adding vertices to any unsubdivided primitives next to the cracks to fuse the cracks.

Disambiguation

Strategy

Specifies the strategy used to choose which unsubdivide attempt to be the final result.

Heuristic: Follows some rules to decide the best attempt. Explicit Seed: specify a seed value to overwrite the rules.

Prefer Uniform

When on, prioritizes the unsubdivide attempt that produces the most uniform mesh. This can help to reproduce triangular mesh.

Seed

Overwrites the default heuristics of choosing which unsubdivide attempt as the final outcome.

Connectivity Constraints

Connectivity Attribute

When on, allows using an attribute that specify connectivity in the geometry. Connectivity Attribute needs to be a vertex or primitive attribute. When a Connectivity Attribute is given, the unsubdivided primitives will preserve the connectivity. This means all vertex references of a point or all primitives that share a point in the unsubdivided mesh have consistent attribute values among them.

Connectivity Attribute Tolerance

When using a floating point Connectivity Attribute, this sets a tolerance for which connectivity attribute values are considered equal.

Output Attributes

Depth

The name of an attribute that indicates which iteration of subdivision a polygon is generated on. If a polygon is from the original mesh, its attribute value would be 0. This output attribute can be helpful in identifying portions of the input geometry that are not consistent with a Catmull-Clark topology.

Examples

PigHeadUnsubdivide Example for Unsubdivide geometry node

This is an example that demonstrates basic features of the unsubdivide node. It covers some common use cases and explains more in details the intention of each parameter.

See also

Geometry nodes