Houdini 20.0 Nodes Geometry nodes

UV Flatten geometry node

Creates flattened pieces in texture space from 3D geometry.

On this page
Since 14.0

Overview

UV Flatten tries to preserve shapes/polygon angles when mapping the 3D mesh to flat UV coordinates. It has an interactive mode that lets you specify seams and pin vertices.

This node will add the UV texture attribute to the geometry if it doesn’t already exist.

  • You can manually specify “seams” along which the node will cut the geometry into pieces for flattening. This lets you split the surface into manageable sections to make it easier for the node to flatten.

    If the polygonal surface has an edge group named seams, this node will use it to cut the geometry. You can select additional seams interactively when the node is selected.

  • You can pin certain vertices to fixed UV coordinates.

    Each piece must have at least two pins. If you don’t specify pins manually, the node will simply pick two vertices to pin automatically. You only need to manually pin where the automatic solution isn’t ideal, for example, if you want to move, rotate, or scale a piece.

    You can interactively add pins, and select multiple pins and move them while the node maintains the positions of unselected pins, when the node is selected.

UV Flatten scales the pieces to fit within the unit square (u of 0 to 1, v of 0 to 1), while maintaining their proportions relative to each other.

This node uses the Least Squares Conformal Mapping (LSCM) method to flatten the texture coordinates.

Using UV Flatten

  1. Select the primitives (faces) you want to add UV coordinates to.

  2. Click the UV Flatten tool on the Texture tab.

  3. Select the edges to use as seams, and press Enter to confirm your selection.

Tip

In the viewer, press Space + 5 to switch to “UV Viewport” to see the flattened texture pieces.

Note

To draw the default pins when the tool is active, set the node to export an Active Pin Group.

To...Do this

Move a pin

Click the “Manipulate pins” button in the toolbar. Select a pin or multiple pins to move, and drag.

Add a pin

Click the “Pin vertices” button in the toolbar. Select the vertex or vertices you want to pin and press Enter.

To...Do this

Delete a pin

Click the “Manipulate pins” button in the toolbar. select the pin and press Delete.

Cut an edge

Click the “Cut edges” button in the toolbar, select the edges, and press Enter to confirm the selection.

To...Do this

Visualize distortions

Right-click the Visualization icon on the right side of the viewport and select UV Distortions. This will shade your geometry red when it is stretched and blue when it is squeezed.

Tip

Once your texture pieces are unwrapped, you can use the UV Layout node to change the packing of the pieces.

Parameters

Group

The primitives to add UV texture coordinates to. If this is empty, the node applies to all incoming primitives.

Seam Group

An edge group containing the initial seams to use to split the geometry into texture pieces. The node automatically considers boundary edges, edges between inconsistently oriented polygons, and edges between more than two polygons as seams.

Additional Seams

An edge group containing the

When you add seams interactively, the node puts them in this parameter. The initial seams you selected when you first used the tool are in the Seam group parameter. The node keeps these separate to preserve the positions of the pieces as you cut. If you edit Seam group (for example, by cutting and pasting the contents of Additional seams into it), the node will re-pack the pieces.

Use Existing UV Coordinates

If the geometry already has texture coordinates, ignore the 3D geometry and flatten any existing UV coordinates instead.

This may be useful to let you use this node’s interactive mode to edit existing UV coordinates while minimizing distortions.

Create Island Number Attribute

Creates an island primitive attribute containing a number specifying which pieces the primitive belongs to. For example, all primitives on the first piece would have a value of 0 in the attribute.

Create Pin Groups

Creates two vertex groups containing the initial pins (the pins chosen automatically by the node) and active pins (initial pins and pins added interactively by the user).

Axis Align Islands

Performs a computation of the oriented bounding boxes for each UV island and uses the information to axis align each island. This should produce much better packing results, especially for rectangular geometry.

Initial Pin Group

When Create Pin Groups is on, the name of the vertex group containing the pins chosen automatically by the node.

Active Pin Group

When Create Pin Groups is on, the name of the vertex group containing the initial pins and pins created interactively by the user.

Pins

The list of interactively pinned vertices.

See also

Geometry nodes