Poly Reduce

The Ultimate Houdini node reference

Visit the Node Bible

To learn more, please log in or sign up for free to explore the Node Bible.
Write your awesome label here.

Poly Reduce

Write your awesome label here.

Reduces the number of polygons in a model while retaining its shape. This node preserves features, attributes, textures, and quads during reduction

Drag to resize

Summary:

This version of Poly Reduce gives very fast, highly accurate reduction while preserving the shape, textures, attributes, and quad topology of the input as much as possible.  This node is especially useful for intelligently reducing polygons within game engines.
This node has multiple features to let you guide where the node reduces and reshapes:

  • You can make sure you retain the edges of the model based on either the curvature of the model or the borders of UV islands
  • You can specify specific points and/or edges to preserve.
  • You can paint an attribute in areas where you want to retain more density.
  • You can retain polygons based on visibility from certain camera viewpoints.

Drag to resize

Inputs:


1st input - Geometry to Reduce:

    -  Place your geo here

2
nd input - View Geometry:

    -  If you have deforming points (that means that you're changing the point positions within a sop network over time), then place a non-animated version of your geometry here.  (non-animated means it's "rest" position).  The reason why you want to do this is to prevent the poly reduce from calculating a different result each time your points change position.

3rd input - View Geometry:

    -  If you're using the "Silhouette" or "Front Facing" parameters (as described below), then this is where you would place geometry to inform the poly reduce on how to use those parameters.
        *  If you connect points - then you're telling the poly reduce to preserved based on how "visible" the features are from these point(s).
       *  If you connect curves - It will try to preserve features which are visible from the points along the curve
       *  Closed Surface -  If you connect any sort of closed geometry, then it will try to preserve any details which exist within the 3d shape.  

Drag to resize

Parameters:


Reduction Amount:


    -  This tells Houdini how you would like to reduce your polygons.  You can reduce it based on a percentage of the current poly count, a specific number of polygons that you want, a number of points that you want, or a percentage of the input point count.
    -  Continue Reducing with Quality Tolerance:  This tells Houdini to keep reducing polygons even after you've reached the specified poly count above.  Generally speaking, you'll want to keep the "tolerance" at a very low number.  This tolerance tells Houdini if it should keep reducing polygons.

Output Geometry:


    -  Use Only Original Point Positions will prevent the poly-reduce from moving points as it reduces
    -  Preserve Quads will prevent the creation of triangles
    -  Equalize lengths:  This makes it so that the edges of the faces are more equal in length.  This is especially useful if you're tying to make sure that triangles are around the same size.  This is also useful when preventing really small faces from being created by the poly-reduce node.

Stiffen:


    -  The stiffen section is designed to preserve details along the edges of your meshed.  These edges are determined by an attribute.  The easiest example to understand is by specifying the UV Attribute.  If you specify "uv" then that means this section will try to preserve the volume and detail along the edges of your uv islands.
    -  Boundaries:  This number tells the algorithm that it should retain the volume of the polygons.  If this is set to 0, then that means the edges of your mesh will shrink down with the reduction
    -  Vertex Attribute Seams:  This number tells Houdini that it should listen to an attribute and preserve the position and details along the edges of that attribute.  Again, this is best understood by using the "uv" attribute.  If you use "uv" then that means the positions at the borders of your uv islands are preserved.
    -  Attributes:  Where you specify the attribute that you want preserve along the edges of.

Preserve Features:


    -  Preserve Features lets you select specific groups of points or edges to maintain the position and detail along.  The difference between "hard" and "soft" is that the hard points and edges will not change no matter what you do.  The "soft" points/edges will change, but you can tell how rigid those points/edges should be by using a weight slider.

Retain Density by Attribute:


    -  This section allows you to specify an incoming point or primitive attribute which will tell the poly reduce node where it should and should not reduce polygons.  If the attribute value is 1, then that means to preserve the detail.  If it is 0, then that means reduce that area.  You can use a paint attribute node to paint this attribute if you'd like.
    -  Weight - Be sure to turn up this parameter when you want to preserve the detail more in the areas where you set the value to 1.

Retain Density by View:


    -  This section allows you to preserve the details of the mesh depending on how close it is to another object.  This is intended to be used along with a camera.  To make this work, create a camera on the obj level and position it so that it's looking at an object from your desired angle.  Next, create an add node, add a point to your scene, and copy --> paste relative reference to the camera's position.  This tells the point that it should follow wherever you place the camera.  Next, connect the point to the third input of this node.

    -  Retain Density by View:  This will tell the poly reduce node to preserve details along the silhouette of the object.  The higher you set this, the more detail will move towards the silhouette.

   -  Falloff Distance:  This can be used to control the intensity of "Silhouette" feature.  It's like saying to the silhouette parameter, "hey friend, you're now only allowed to work within a certain distance from the camera."  As an example, if I say that the falloff distance is "2," that's like telling the "silhouette" feature something like -  "Hey silhouette, you're only allowed to work if you're within 2 meters away the camera."  Anything past 2 meters would have no effect.

    -  Front Facing:  Instead of the details being preserved along the silhouette, the details are only preserved on the portions of the mesh that the camera can see.  Again, the higher you set this value, the more strict it is going to be.

    -  Falloff Distance:  Refer to my epic tale above.

Make Reduction Sensitive to Attributes:

    -  Here you can tell the poly reduce that it should be sensitive to other attributes as well.  This works the same as the "Retain Density by Attribute" as described above.