Houdini 20.0 Nodes Geometry nodes

Labs GameRes 3.0 geometry node

Full Pipeline Node to Take High Res Models to Low Res

Single node to polyreduce, automatically UV and Bake Textures.



Choose which step of the pipeline to visualize


Number To Keep

Target Output Polygon Count

Use Instant Meshes

Use the Quad Remeshing Option instead of PolyReducing

Continue Reducing Within Quality Tolerance

Use a Quality Threshold instead of a target polycount to reduce


Stop Reducing when this tolerance has been hit

Use Only Original Point Positions

Use the original positions as part of the reduction

Preserve Quads

Use the Quad retaining feature from the PolyReduce SOP

Equalize Lengths

Control over if the PolyReduce should be even or more adaptive


Enable Voxelization

Roundtrip the mesh through Voxels and back to polygons

Resolution Preset

Helpful Presets for the Resolution, instead dealing with numbers, use some good presets for Low, Medium and High Quality


If Resolution Preset is set to Custom, this will let you explicitly control the Voxel Resolution

Bounding Box Relative

Do the Voxel Calculations as if the mesh was 1 unit large.


Controls how even the topology of the resulting mesh is. High Adaptivity values mean concentration around areas of high curvature, low curvature means even distribution of polygons


Voxels have an great ability of growing and shrinking, which can be used for better eroding and growing the mesh. It is similar to the Peak SOP but doesn’t generate bad geometry when geometry crashed into itself.

Project to Original

Optionally Ray the resulting mesh back onto the original

Post Smooth Iterations

The Projection step can generate some undesirably overlapping polygons, this step can relax some of those polygons

Sharpen Features

Geometry tends to soften when being voxelized, because some features might sit in between voxels. This strengthens the features and is helpful on hard surfaces.

Edge Tolerance

Tolerance for what edges to consider for the Sharpen Features toggle.

Auto UV Method


Algorithm used to generate the UVs

Shortest Path

The Shortest Path method, will identify areas of high curvature on a mesh and then draw shortest paths between those points.

Collapse Distance

Fuse Threshold in case paths are too close together

Number of Paths

Number of high curvature points to use as path points

Convex Multiplier

Attract the seams based on high convexity (helpful for hard surface models)

Occlusion Multiplier

Attract the seams based on Ambient Occlusion (helpful for organic models)


Clusters primitives based on position and normal attributes to generate islands

Number of Clusters

Number of Islands to be generated

Normal Blur

Blur the Normals a bit when considering which normals are close together (will merge islands together)

Random Seed

Randomly change the clustering

UV Unwrap

Use the build in UV Unwrap node. While usually not the best solution, this combined with Merge Small Islands is generally one of the best solutions.


Number of Projection Planes.

UV AutoSeam

Use the new UV Autoseam node

Grain Tolerance

When Splitting is “Curvature based”, controls how sensitive grains are to changes in normal direction across surfaces. A value of zero is very sensitive and produces tiny grains. Larger values up to 1 are less sensitive and produce larger grains.

Merge Threshold

Controls how often smaller grains merge to become larger islands. 0 never merges (giving the initial grains as output), 1 merges all connected grains together (giving no seams in the output). You can tweak this control, centering around 0.5, to get more or fewer seams.

Packing Options

Merge Small Islands

Consolidates Small UV Islands into Larger Neighbors

Small Island CutOff

Size threshold of the islands that will be merged back into larger pieces

Optimize UV Border

Attempts to cleanup triangles that are sticking to the side of the UV island. May cause small islands to reappear

Flattening Method

Defines how to flatten the Islands.

Orientation Mode

How to rotate the islands when packing

Packing Iterations

How many times to attempt fitting the islands together

Island Padding

How many pixels to pad the islands by

Padding Resolution

Reference Resolution for Island Padding


Auto Bake

Automatically trigger the bake step


Manually trigger the bake step



Size of the output textures

Base Path

Path for the output textures. $(CHANNEL) is necessary here and will be replaced with the type of texture (basecolor, normal, etc)

Export FBX

Optionally also export the incoming model as an FBX file to this path


Vertex Color

Enable baking Vertex Colors (and Diffuse Textures) and specify the suffix

Normal Map

Enable baking Tangent Space normal maps and specify the suffix

Opacity Map

Enable baking an Opacity/Transparency/Alpha map and specify the suffix

Roughness Map

Enable baking Roughness that is sampled from the source’s material and specify the suffix

Metallic Map

Enable baking Metallic that is sampled from the source’s material and specify the suffix

World Normal Map

Enable baking World Space normal maps and specify the suffix

Ambient Occlusion

Enable baking Ambient Occlusion maps and specify the suffix


Enable baking Curvature (Substance Style) and specify the suffix


Enable baking Thickness maps and specify the suffix


Enable baking Position maps and specify the suffix


Enable baking Height/Displacement maps and specify the suffix

Custom Channels

Number of Custom Maps to be baked

Attribute Name

Point Attribute to be baked


CHANNEL value for the texture name


Valid Frame Range

Determines if a single frame should be baked or several frames. (Useful for baking oceans and other animated effects)


If baking a frame range, make sure to remember to add a $F to your filenames, otherwise it will overwrite the same textures every frame.


Start and End Frame, and what steps to skip

Use MikkT Tangent Space

Use the MikkT calculations to bake out the Tangent Normal Maps.


The Viewport shader doesn’t have MikkT capabilities, so you might see some bruising that won’t occur on a game engine. You can use the GameDev PBR Shader in combination with the PolyFrame node if you would like to view the correct MikkT values. We understand this isn’t optimal.

Output basecolor in Linear Space

Gamma correct the BaseColor maps

Tangent Normal Flip Y

Invert the Green Channel in the Normal Map.

Disable Lighting/Emission

Ignore any lighting information. Disabling this will allow you to bake light information into your objects (just make them white)

Cage Mesh

Optional cage mesh. Must have the same topology and UVs as the UV Object. Typically a dupicate of UV Object whose vertices are slightly pushed outward. Used to determine the projection direction.

Border Padding

Additional pixels at the border of each UV island

Baking Samples

Number of Samples used for raytraced shading

Ray Bias

Determine how much to offset the rays from the surface of the object along the normal vector.

Ray Distance

Maximum Distance to trace for nearby surfaces. -1 means infinite distance.


Base Color

Basic Tint on the Albedo


Index of Refraction, similar to the base PBR value of 0.04. High Values refract more light


How rough or smooth is the specular highlight

Diffuse Map

Which channel to display as the preview map

Geometry nodes