Houdini 22.0 Nodes Geometry nodes

Quad Remesh geometry node

Converts an arbitrary mesh into structured quadrilaterals.

On this page

Overview

This node is a re-topology tool that remeshes the input surface as a quadrilateral mesh with geometrically meaningful edge flows.

The higher the target number of polygons, the better the shape of the output can match the shape of the input. In this example, the input model on the left has 16 million polygons, and the output on the right has 15 thousand quads.

In other words, increasing the target quad count increases the resolution of the quad mesh.

Note

This node can also increase the number of polygons in the model since it works to a target quad count.

How it works internally

Understanding the node internally may help you use the options and output. In technical terms, this node computes a UV parameterization over the input geometry and extracts a quadrilateral mesh by tracing integer grid lines in the parameterization. The UV parameterization needs to have special relationships across the UV seams so the integer grid lines line up across these cuts.

  • Internally, the node builds a direction field, representing the edge flow directions across the surface. This is a rough draft for how the edges are in the output before any constraints are applied. Areas where the directions in the field are parallel to integer lines in the global parameterization will come out as smooth, regular quads.

    You can visualize the field by turning on Field in the node’s operation toolbar at the top of the viewer.

  • The entire collection of edge flows can’t be smooth. At some point, different flows will run into each other and there will be points on the surface where the surrounding directions converge, diverge, or cross. These are called singularities and an example is only three or five quadrilaterals meet at a vertex.

    You can visualize the singularities by turning on Field singularities in the node’s operation toolbar at the top of the viewer.

  • The singularities are the corners that unwrap the surface onto a UV plane. The node creates seams between the singularity points, which it cuts to make them the boundaries of the unwrapped UV surface.

    You can visualize the seams by turning on Seams in the node’s operation toolbar at the top of the viewer.

  • The node traces lines across the UV space to create the new quad mesh layout. One of the biggest constraints on how the node can lay out the edges, and how much you can change the layout, is that edge flow must be continuous across the seams (the boundaries of the unwrapped surface in UV space).

    If you compare the field visualization to the final quad output, the main reason for any differences is needing to maintain continuity across seams.

Tweaking the output

The node exposes several options for controlling the final result.

  • The Rectangular method can compute significantly more regular parameterizations than the Uniform solver.

  • The tool is better suited with organic shapes. However, hard surface models with sharp edges can work by specifying a collection of feature edges using the Rectangular solver. Without an explicit specification of the feature edges, the node will round off the sharp edge in the output. Turn off the Quad Sizing options in these cases.

  • The Quad Sizing options can adapt the topology to the curvature of the mesh, so that more (and smaller) quads are laid out in regions with many local features and fewer (and larger) quads are laid out in regions where the surface is approximately flat. These options are best suited for organic character models.

  • The Alignment Weight parameter lets you influence the trade-off between smoother edge flow versus capturing the curvature of the surface in the flow. Increasing the weight increases the number of singularities.

  • Some options that influence the topology of the output, such as symmetry or a guide attribute, constrain the node’s search for a parameterization. As you add more constraints or decrease their weight, there may be less impact on the resulting quad mesh since it’s harder to find a solution that matches all the constraints.

  • Once the node has created the parameterization internally, changing the resolution of the output is quite fast.

  • The parameters on the Symmetry tab let you specify planes of symmetry in the input model. The node will only remesh one side of each of the symmetry planes and (optionally) mirror the remeshed surface back across the symmetry planes.

Limitations

  • There is currently limited options to interactively influence edge flow (ex. by brushing or drawing lines). However, you can manually set up a vector attribute on the polygons to have some influence over the edge flow. See the Guide Attribute parameter on the Alignment tab.

  • The quality of the resulting quad mesh is dependent on the triangle quality of the input mesh. Lots of long, skinny triangles, or highly irregular shaped polygons tend to produce low quality quad meshes. In many cases, using the Remesh SOP to improve the overall triangle quality of the input geometry yields better quality quad meshes.

  • Occasionally, the specification of sharp feature edges can cause the output to fail and produce meaningless outputs. In these cases, turning on the Use Simple Stitching toggle will produce a more robust output that doesn’t match the feature edge constraints.

Toolbar

Select a Quad Remesh node in the network editor, and click the Handles tool to the left of the viewer. Or press Enter in the viewport to use the Quad Remesh tool.

Currently, the tool does not have viewport interaction. You can use the parameter editor to change how the node works. It does provide visualizations to help you understand how the node generates the output and what parts of the input model might be difficult for the node to deal with.

You can control visualization options using the controls in the operator toolbar. See how the node works internally for information. Options

Description

Global Parameter

When on, draws the global parameter lines as darker lines across the model.

The global parameter lines influence the directions of edge loops in the output surface but are independent of the output resolution.

Seams

When on, draws the seams of the global parameterization as brightly colored lines across the model.

Field Singularities

Displays a dot in the approximate location of each singularity. A red dot indicates a singularity with a positive index and a blue dot indicates a singularity with a negative index.

Field

Displays the field over the geometry when the viewport state of the node is active.

When displaying multi-vector fields, the vector field of the first instance is red and the other vector fields are blue.

Field Scale

Rescales the current viewing scale of the field vectors by any factor.

The default value is 1.

Guides

Displays any non-zero guide vectors that are specified by an attribute. This is useful for comparing guides with the generated field used for the quad remeshing.

Guide Scale

Rescales the current viewing scale of the guide vectors by any factor.

The default value is 1.

Parameters

Group

The name of a group or list of primitive numbers/patterns that select the geometry this node will affect. If blank, the node affects all closed polygons in the input.

Topology

Resolution Mode

Selects the method to use that controls the resolution of the quad mesh and the overall scale of the global parameterization.

Quad Count: Specify the number of polygons you want the output surface to have.

Quad Area: Results in a quad mesh where the mean quad area is less than the given area measure.

Tolerance: Results in a quad mesh where the mean distance from the center of a quad primitive to the input mesh is less than the given tolerance value.

Relative Scale and Absolute Scale: creates a base resolution representative to the mean area of the triangles in the decimated mesh. When the input is composed of multiple disjoint components, each component will use a mean triangle area taken over the individual component in the Relative Scale mode, while a single mean triangle area will be taken over all components with the Absolute Scale mode.

Target Quad Count

When using Quad Count for Resolution Mode, a target number of elements is used as a basis for the resolution of the output.

Target Quad Area

When using Quad Area for Resolution Mode, a target area per element is used as a basis for the resolution of the output.

Target Tolerance

When using Tolerance for Resolution Mode, a distance to the input mesh is used as a basis for the resolution of the output.

Resolution Scale

When using either Relative Scale or Absolute Scale, the resolution scale lets you increase/decrease the mesh resolution like increasing/decreasing the size of an image uniformly. This is also similar to global subdivision surface refinement of a quad mesh.

Resolution Source

When using Absolute Scale for Resolution Mode, a triangle area is used as a basis for the scale of the global parameterization.

Auto: Attempts to choose an appropriate triangle area.

Triangle Area: Allows a custom triangle area to be specified. Specifying Triangle Area gives better resolution stability when changing parameters like the Decimation level affecting the triangle sizes as the input mesh gets modified.

Triangle Area

The specified triangle area when using the Triangle Area option for the Resolution Source.

Note

Only base two logarithmic changes in the Triangle Area parameter will result in a resolution change.

Symmetry

Center

The origin of the symmetry plane(s) in the input model.

X

Treat the model as symmetrical across the X-axis. Choose whether to remesh the +X or -X side of the input (relative to the Center).

Y

Treat the model as symmetrical across the Y-axis. Choose whether to remesh the +Y or -Y side of the input (relative to the Center).

Z

Treat the model as symmetrical across the Z-axis. Choose whether to remesh the +Z or -Z side of the input (relative to the Center).

Mirror Output

When a symmetry direction is on, this automatically mirrors the remeshed half back across the symmetry plane in the output. When off, the output only contains the remeshed side of the symmetry. You can turn this off if you want to further processing to the remeshed half before mirroring it manually or don’t need to mirror.

Pre-processing and Output

Output

Controls the output of this node.

Extracted Mesh: Outputs the remeshed quad surface.

Constrained Edges Group: Creates an edge group on the remeshed output of this name containing the edges which are aligned with the specified feature edges and boundaries.

Global Parameterization: Outputs a triangular mesh with a uv vertex attribute containing the parameterization.

The triangular mesh is post-reduction by the Decimation level.

Decimation Level

The input typically a high-resolution surface, such as scan data with more information than the node needs. This parameter reduces the number of polygons in the input before remeshing. Reducing the input polygons makes remeshing much faster. This can improve the edge flows in the output because the reduced input will have less noise. Default is 2. Increase this value for more reduction.

If you specify a Guide attribute or a Mask attribute (on the Alignment tab), the node will not reduce any faces with a non-zero attribute.

Minimum Quad Count

Specifies a minimum number of quadrilaterals for each connected component. This is useful when remeshing a model with many small connected components that would otherwise be inadequately remeshed at the target resolution.

Alignment

This node uses a pair of vector fields to guide the edge flows of the quad mesh. Use these parameters to manipulate the frame field to customize the alignment of the resulting edge flows and how close the adjacent edge flows are to each other.

There are two sets of options to control the adaptive sizing of quads. The first is given by the Quad Sizing options which precisely specifies the aspect ratio of quadrilaterals according to the curvature of the mesh. The second option is to change the Method which further relaxes the requirement that the quadrilaterals adhere to these sizing specifications to further adapt to the geometry of the 3D model.

The alignment options on the other hand specify the local directions of the edge flows. When there is no alignment guiding (when all alignment parameters are set to zero), the node generates the smoothest frame field over the surface, with no regard to curvature alignment. The alignment criteria is a weighted combination of primitive vectors representing surface curvature, boundary directions, and optional user specified guide vectors. These three vector components are independent channels that get mixed together.

Method

The Uniform solver constrains the quads to the specification determined in the Quad Sizing options. The Rectangular solver relaxes this requirement by allowing the quadrilaterals to stretch, but not shear, away from the target specification.

If you set Quad Sizing adaptivity to zero, the quads are approximately square of the same size in the Uniform solver and approximately rectangular in the Rectangular solver.

Note

The rectangular solver uses a more intensive method to determine the topology of the mesh and takes more time to compute.

Use Simple Stitching

When on, uses a more robust fallback method for stitching the UV parameterization into a valid quadrilateral mesh.

Quad Sizing

Enable

Turns on adaptive quad sizing for a more optimal mesh topology on organic models (e.g., character type models). When working with a hard surface model, it is recommended to disable the adaptivity.

Adaptivity

The amount of adaptivity. A value of zero results in uniform quad sizes. Higher values increase the adaptivity and variation of the quad sizes.

Mask

A per primitive scalar weight applied that locally varies the adaptivity.

Uniform Sizing

Enable

Turns on customized control over the quad sizing uniformly.

Weight

A scalar weight that adjusts the quad sizing when a local sizing attribute is given.

Attribute Name

A per primitive scalar weight that locally scales the quad size uniformly.

Edge Flow Control

Feature Edges

An edge group describing important features of the 3D model that should be preserved in the constructed quadrilateral mesh.

Note

The geometric realization of the edges is important, not only the general loop structure.

Include Boundary Edges

Preserves boundaries in the output quad mesh.

Alignment

A weight specifying the balance between the alignment criteria and the global smoothness of the frame field. Increasing the weight makes the field more aligned, while decreasing the weight make the field smoother. Use values are in the range from zero to one.

Note

Making the field more aligned will introduce more extraordinary vertices in the quad mesh.

Mask

Specifies an attribute of floats that weights elements where the frame field should be more closely aligned. Use values are in the range from zero to one.

Field Options

Field Type

Determines whether to generate the field over polygon faces or edges. The edge based frame field is better adapted to certain hard surface models.

Smoothing Iterations

Determines the number of iterations of field smoothing to apply after field generation. Field smoothing improves the quality of the mesh significantly, but at the cost of less alignment. The default number of smoothing iterations is 10.

Harden to Features

When this toggle is enabled, it forces the field to be aligned with the specified features and boundaries with their implied arc-length parameterization. This can often improve the quality of the output in situations where the automatic output does not conform to the features. Enabling this toggle trades interior curvature alignment for feature alignment.

Curvature

Enable

Turns on the curvature contribution to the overall alignment criteria.

Weight

The force of curvature directions influences the generated field. Use values are greater than or equal to zero.

Mask

A per primitive scalar weight applied as the curvature force when influencing the generated field. Higher values will increase the alignment with the curvature directions, while lower values will attenuate the curvature alignment. Use values are greater than or equal to zero.

Rotation

An optional rotation applied to all curvature contributions of the field alignment. Use values are between -180 and 180 degrees.

Boundary

Enable

Turns on the boundary contribution to the overall alignment criteria.

Mode

Defines whether boundary contributions are applied inclusively or exclusively.

Add: Boundary vectors are combined with curvature and guide vectors.

Over: Boundary vectors will overwrite any curvature vectors.

Weight

The force of boundary tangents influencing the generated field. Use values are greater than or equal to zero.

Mask

A primitive element scalar weight applied as the boundary force when influencing the generated field. Higher values will increase the alignment with the boundary directions, while lower values will attenuate the boundary alignment. Use values are greater than or equal to zero.

Rotation

An optional rotation applied to all boundary contributions of the field alignment. Use values are between -180 and 180 degrees.

Guide

Enable

Turns on custom guide contributions to the overall alignment criteria.

Mode

Defines whether guide contributions are applied inclusively or exclusively.

Add: Guide vectors are combined with curvature and boundary vectors.

Over: Guide vectors will overwrite any curvature and boundary vectors.

Weight

The force of guide vectors influencing the generated field. Use values are greater than or equal to zero.

Mask

A per primitive scalar weight applied as the guide force when influencing the generated field. Higher values will increase the alignment with the guide directions, while lower values will attenuate the guide alignment. Use values are greater than or equal to zero.

Attribute Name

The name of the guide attribute. The guide attribute must be a vector-3 attribute that assigns a nonzero vector to points or primitives on which the field is guided. This node ignores and fills in zero-vector values. The output directions assigned to points or primitives with nonzero guide values may not exactly match the input values and their magnitudes may be different.

Note

You can compare guide vectors with the resulting field in the Quad Remesh state.

Inputs

Geometry to Remesh

The polygonal mesh for quad remeshing.

Reference Geometry

Optional. Reference geometry. This mesh should have the same number of points as the geometry for the first input. During remeshing, the points from this geometry influence the remeshing process by overriding the points from the first input when calculating edge flows.

Examples

QuadRemeshBasicExample Example for Quad Remesh geometry node

This example demonstrates how to retopologize a procedurally modelled volume mesh with the Quad Remesh node.

QuadRemeshGuidingExample Example for Quad Remesh geometry node

Demonstrates a methods for guiding edge flows in Quad Remesh based on a set of UV boundaries.

QuadRemeshReferenceInputExample Example for Quad Remesh geometry node

Demonstrates usage of the reference input on the Quad Remesh node.

See also

Geometry nodes