POPX

Constraints

v1.3.0
Tools

Summary

The Constraints operator generates the constraint data required by the Soft Body Simulation operator. It prepares the relationships between points including distance, stiffness, rest length, damping, and other physical properties that the soft body solver uses to simulate realistic deformation and behavior.

This operator creates various types of constraints that define how geometry should behave during soft body simulation. You can configure stretch (distance along edges), bend (across triangles), struts (internal support), pressure (volume preservation), cloth (combined stretch and bend), string (one-dimensional constraints), attach to geometry, glue (proximity-based), and pin to target constraints. Each constraint type includes controls for stiffness, damping ratio, rest length/angle scaling, and optional plasticity for permanent deformation.

Parameters

Lock InputLockinput
Lock the input geometry to prevent updates from upstream changes.
ReloadReload
Reload the input geometry and regenerate constraints.
Group TypeGeogrouptype
Specify whether to use point or primitive groups for geometry selection.
PointpointPrimitiveprimitive
GroupGeogroup
Name of the group to process. Leave empty to process all geometry.
Visualize GeometryVisualizegeometry
Display the input geometry in the viewport for debugging.
MassMass
How to calculate point mass.
UnchangedunchangedSet UniformsetuniformCalculate UniformcalcuniformCalculate Varyingcalcvarying
Set MassSetmass
Uniform mass value per point when Mass is set to Set Uniform.
DensityDensity
Material density used when calculating mass from geometry volume or surface.
Visualize MassVisualizemass
Display point mass values as color visualization for debugging.
ThicknessThickness
How to calculate thickness.
UnchangedunchangedSet UniformsetuniformCalculate UniformcalcuniformCalculate Varyingcalcvarying
Set ThicknessSetthickness
Uniform thickness value when Thickness is set to Set Uniform.
Edge Length ScaleEdgelengthscale
Multiplier for edge lengths when calculating varying thickness.
Visualize ThicknessVisualizethickness
Display thickness values as color visualization.
Normal DragNormaldrag
Drag coefficient perpendicular to the surface.
Tangent DragTangentdrag
Drag coefficient along the surface. Controls sliding friction.
Enable PartitionEnablepartition
Enable partitioning geometry into separate pieces for independent constraints.
Partition MethodPartitionmethod
Method for dividing geometry into separate pieces.
From ConnectivityconnectivityFrom Attributepieceatt
Number of Pieces DetectedNumpieces
Read-only display of how many pieces were detected.
Minimum Points per PieceMinpointsperpiece
Minimum number of points required for a piece to be valid when using connectivity partitioning.
Search PassesSearchpasses
Number of connectivity search passes for finding connected components.
Attribute ClassAttrclass
Attribute class when using From Attribute method.
PointpointVertexvertexPrimitiveprimitive
Piece AttributePieceattr
Name of the attribute containing piece IDs.
Visualization SeedVisualizationseed
Random seed for piece color generation.
Visualize PiecesVisualizepieces
Display each piece with a unique color.
Group TypeTargetgrouptype
Specify whether to use point or primitive groups for target geometry selection.
PointpointPrimitiveprimitive
Target Geometry GroupTargetgroup
Name of the target geometry group to use. Leave empty for all.
Target Geometry PathTargetpath
Path to the target geometry operator.
Visualize Target GeometryVisualizetarget
Display the target geometry in the viewport for debugging.
Save File ToFilesave
File path to save the generated constraint geometry.
Save GeometrySavegeometry
Pulse to save the current constraint geometry to the specified file.
Geometry FileGeofile
File path to load pre-generated constraint geometry from.
Load GeometryLoadgeometry
Pulse to load constraint geometry from the specified file.
Constraint TypeConstrainttype
Type of constraint to generate.
NonenoneDistance Along EdgesdistalongedgesBend Across TrianglesbendacrosstriStrutsstrutsPressurepressureClothclothStringstringAttach to GeometryattachtogeoGluegluePin to Targetpintotarget
Visualize ConstraintsVisualizeconstraints
Display constraint connections as lines in the viewport.
Constraints ColorConstraintscolor
Color for visualizing constraints. Enabled only when Constraint Type is not set to None.
Constraints ColorConstraintscolorrConstraints ColorConstraintscolorgConstraints ColorConstraintscolorb
Stiffness ScaleStretchstiffscale
Scale factor for stiffness (powers of 10). Higher values create more rigid constraints.
1e+101e+91e+81e+710000001000001000010001001010.10.010.0010.00010.000010.0000011e-71e-81e-91e-10
StiffnessStretchstiff
Multiplier for stretch stiffness.
Damping RatioStretchdampratio
Damping ratio (0-1) for stretch constraints. Higher values reduce oscillation.
Rest Length ScaleStretchrestscale
Multiplier for the rest length.
Enable PlasticityStretchplasticity
Allow permanent deformation of stretch constraints when threshold is exceeded.
ThresholdStretchthreshold
Strain threshold before plastic deformation begins.
RateStretchrate
Rate of plastic deformation per frame once threshold is exceeded.
Ratio of Current Rest LengthStretchratiorestlen
When enabled, rate is relative to current rest length instead of absolute.
HardeningStretchhardening
Increase in stiffness as plastic deformation accumulates.
Enable Output GroupStretchenablegroup
Create a primitive group containing stretch constraints on the constraint.
Output GroupStretchgroup
Name of the group to store stretch constraints.
Stiffness ScaleBendstiffscale
Scale factor for stiffness (powers of 10). Higher values create more rigid constraints.
1e+101e+91e+81e+710000001000001000010001001010.10.010.0010.00010.000010.0000011e-71e-81e-91e-10
StiffnessBendstiff
Multiplier for bend stiffness.
Damping RatioBenddampratio
Damping ratio (0-1) for bend constraints. Higher values reduce oscillation.
Rest Angle ScaleBendrestscale
Multiplier for the rest angle. Values above 1.0 create pre-bent constraints.
Enable PlasticityBendplasticity
Allow permanent deformation of bend constraints when threshold is exceeded.
ThresholdBendthreshold
Angular strain threshold before plastic deformation begins.
RateBendrate
Rate of plastic deformation per frame once threshold is exceeded.
Ratio of Current Rest LengthBendratiorestlen
When enabled, rate is relative to current rest angle instead of absolute.
HardeningBendhardening
Increase in stiffness as plastic deformation accumulates.
Bend Output GroupBendenablegroup
Create a primitive group containing bend constraints on the constraint geometry.
Output GroupBendgroup
Name of the group to store bend constraints.
Pin PointsPinpoints
Point group name for pinning points to their animated positions.
Pin TypePintype
Method for pinning points to their target positions.
PermanentpermanentStoppedstoppedSoftsoft
Match AnimationMatchanimation
Update pinned point positions to match input animation each frame.
Visualize PinnedVisualizepinned
Display pinned points in the viewport for debugging.
Constraint per PointConstperpoint
Number of strut constraints to create per point.
JitterStrutsjitter
Random variation in strut search direction.
Any HitAnyhit
Use first hit instead of closest hit for strut connections.
Detach Point ChanceDetach
Probability (0-1) of randomly excluding points from strut creation.
SeedStrutsseed
Random seed for strut generation and jitter.
Jitter SeedAttachseed
Random seed for attach position jitter.
Jitter AmplitudeAttachamp
Maximum distance for random attachment position offset.
Jitter ExponentAttachexp
Exponent for jitter distribution. Values above 1.0 bias toward smaller offsets.
Minimum DistanceMindist
Minimum search distance for glue constraints.
Maximum DistanceMaxdist
Maximum search distance for glue constraints.
Max Constraints per PointMaxlinesperpoint
Maximum number of glue constraints to create per point.
Uniform DistributionUniformdist
Distribute glue constraints evenly around each point.
Max Temp NeighborsMaxtempneighbors
Maximum number of temporary neighbors to consider during glue constraint search.
Free Extra GPU MemoryFreeextragpumem
Free memory that has accumulated when output memory has grown and shrunk.

Inputs

Input 0POP
Geometry
Input 1POP
Constraints
Input 2POP
Collision Geometry

Outputs

Output 0POP
Geometry
Output 1POP
Constraints
Output 2POP
Collision Geometry