Houdini 20.5 Nodes Geometry nodes

Planar Inflate geometry node

Inflates a polygon into a triangle mesh.

On this page
Since 20.5

Overview

The Planar Inflate SOP takes the the 2D shape information, triangulates it, and inflates the shape. This means it puffs up the shape to bulge outward like a pillow. The node projects all 3D points onto a 2D projection plane and meshes the interior with triangles. It then computes the amount the interior points' normal direction is offset from the projection plane. When the input is a polyline, it closes the ends and uses the resulting polygon as its input. This node interpolates any point, vertex, and primitive attributes based on the topology information by default. Optionally, point attributes can be interpolated smoothly from the boundary to the interior.

Warning

Having degenerate geometries, such as line segments with zero lengths, in the input geometry may result in numerical instability.

Before and after using the Planar Inflate node.

The quality of the input and the internal remeshing impacts the node’s output. When the output geometry contains large noises or misses important features due to numerical errors, you can adjust the input and the Element Sizing and Meshing parameters to make the sizes of elements more uniform.

Tip

  • Use the Iterations parameter to improve the quality of the output mesh.

  • Use the Scale Attribute and Global Scale parameters to control the amount of inflation.

  • For this node to use only the input’s points and not add any internal points, set the Iterations parameter in the Meshing parameter group to 0.

The following are some examples of what you can create with this node:

  • ballooned text

  • quilted fabric

  • puffy jacket texture

  • cobblestones

Ballooned text
Cobblestones

Parameters

Group

The group of primitives to use for inflation.

Run Over

The elements of geometry the inflation operation is applied to.

Whole Geometry

Treats the whole geometry as one input geometry.

Pieces (Default)

Treats each piece as one input geometry. The pieces are connected pieces by default. Optionally, you can specify the pieces with a Piece Attribute.

Primitives

Treats each primitive as one input geometry. When used, the seams between primitives will be disconnected.

Preserve Topology

When Run Over is set to Whole Geometry or Pieces, the node outputs a geometry with the same topology as the input.

Use Piece Attribute

When Run Over is set to Pieces, the pieces are specified with a piece attribute instead of connected pieces.

Piece Attribute

The integer or string primitive that specifies the pieces when Use Piece Attribute is on.

Projection Plane

Determines the position and the normal direction of the 2D projection plane used during inflation.

Fit (default)

Obtains 2D positions of the points by projecting them onto a plane that best fits the 3D primitives.

UV

Uses the UV plane as the projection plane. The amount of inflation is determined in the UV space, and you might want to adjust the Global Scale accordingly.

Attribute

Direction of projection with a user-defined primitive attribute. The exact position of the plane will be determined by an automatic fitting.

Manual

Projection plane which the 3D points are projected.

Projection Direction Attribute

When Projection Plane is set to Attribute, the projection plane direction is determined with this vector primitive attribute. When there are more than one primitives, the node uses the area-weighted average of all directions.

Origin

When Projection Plane is set to Manual, the projection plane is determined relative to this origin point.

The default value is 0, 0, 0.

Distance

When Projection Plane is set to Manual, the distance the projection plane is from the Origin value.

The default value is 0.

Direction

When Projection Plane is set to Manual, this vector is the direction along the projection plane moves away from the Origin value.

The default value is 0, 0, 1.

Iterations

The number of iterations of the inflation algorithm. Higher values increase how uniform the resulting triangle mesh is.

This value must be a positive integer.

Global Scale

The global scaling of inflation to apply to the Scale Attribute value. A value of 0 flattens the primitives (triangle mesh) while higher values inflate the primitives into a 3D triangle mesh.

The default value is 1.

Use Sharpness Attribute

Uses the Sharpness Attribute to specify the sharpness of inflation.

Sharpness Attribute

The floating point primitive or point attribute that controls the sharpness of inflation. The values specified in the interior of the 2D shape will also have effects. The sharpness of 1 is the default sharpness, and setting a constant value over the geometry gives the same effect as changing the Global Scale.

Output Front

Generates triangles for the inflations in the front direction.

Front Group

Enter the name to put the inflation’s triangles in the front direction in this group.

Output Back

Generates triangles for the inflations in the backward direction.

Back Group

Enter the name to put the inflation’s triangles in the backward direction in this group.

Attributes to Smoothly Interpolate

The numeric type point attributes to interpolate smoothly along the surface from the boundary to the interior. Multiple attributes can be specified with separations by space.

Interpolate in Plane

Interpolates the attributes specifid in Attributes to Interpolate in the flat projection plane instead of along the curved inflated surface.

Inflation Amount Attribute

The name of the output floating point point attribute that stores the amount of inflation. When Restore Original Point Positions or Enable Collision Resolution options are enabled, the amount of inflation stored will be before applying those operations.

The default value is inflationamount.

Boundary Point Group

The name of the output point group that marks the 2D boundary points.

The default value is boundarypoints.

Boundary Edge Group

The name of the output edge group that marks the 2D boundary edges.

The default value is boundaryedges.

Restore Original Point Positions

Transforms the inflated surface to use the original 3D positions of the input points. Newly generated points are accordingly offset by interpolation based on the 3D positions of the input points.

Note

This parameter only offsets the resulting points in the normal direction of the projection plane, which creates skewed geometry when the input points don’t lie on the same plane. Apply any large transformations you want to make to the geometry after this node.

Reverse Faces

Reverses the orientation of the output faces.

Final Remesh

Remeshes the output geometry using the parameters specified in Element Sizing and Meshing configurations.

Element Sizing

The sizing of elements in the underlying remeshing algorithm.

Note

Around the input boundary points, this node may subdivide the triangle mesh more than the configured Element Sizing to improve the output’s quality.

Edge Lengths

The method for determining the target edge length.

Uniform (default)

Uses a fixed target edge length across the entire geometry.

Adaptive

Allows variation of the length based on local curvature.

Target Length

When Edge Lengths is set to Uniform, this is the target edge length in Houdini units.

The default value is 0.2.

Max Length

When Edge Lengths is set to Adaptive, this is the maximum allowed edge length in Houdini units.

The default value is 0.1.

Min Length

When Edge Lengths is set to Adaptive, this is the minimum allowed edge length in Houdini units.

The default value is 0.0001.

Relative Density

When Edge Lengths is set to Adaptive, the relative density of the sampling of new interior points. The higher the value, the more number of points there are in the output.

The default value is 2.

Gradation

When Edge Lengths is set to Adaptive, the rate the edge lengths can change from one triangle to the next. Higher values generate fewer triangles, but lower the overall quality. A value of 0 is equivalent to uniform meshing.

The default value is 0.25.

Meshing

Additional configurations for the underlying remeshing algorithm.

Iterations

The number of iterations that the meshing algorithm uses. Higher values increase the quality of the generated mesh but take more time to remesh. Too many iterations can corrode the preservation of the shape or attributes. The maximum useful number of iterations is often 3 or 4.

The default value is 2.

Smoothing

The amount of smoothing used in each iteration of meshing. Higher values smooth the overall shape of the model and often produce higher-quality triangles.

Sharp features limit the quality of triangles that can be used near them. Smoothing softens the sharper features and allows the use of more equilateral triangles near them.

The default value is 0.1.

Collision Resolution

Additional configurations for a simple iterative collision resolution algorithm. In each iteration, you get a near collision-free yet jaggy geometry first, and smooth it. By repeating this process, you get a smooth collision-free geometry.

Enable Collision Resolution

Enables the collision resolution.

Iterations

The number of iterations for collision resolusion. Set a higher value than the default if the resulting geometry is too jaggy.

The default value is 3.

Default Thickness

Where pscale is present, the pscale attribute is used for the point thickness and can vary per point. This parameter is the default when it is absent.

The default value is 0.05.

Smoothing Strength

How much to smooth the points in the geometry. Higher values move the points farther from their original positions.

The default value is 10.

Smoothing Quality

Higher values preserve finer details from the original mesh. Lower values are faster and smooth more.

The default value is 3.

Inputs

Input 1:

Outputs

Output 1:

See also

Geometry nodes