Houdini 20.0 Nodes Geometry nodes

Ragdoll Constraints geometry node

Builds a constraint network to hold a KineFX skeleton together during a ragdoll RBD simulation.

This node type is deprecated. It is scheduled to be deleted in an upcoming revision of Houdini.

Replaced by Ragdoll Solver 2.0

(Since version 20.0.)

On this page
Since 19.0

This node creates a constraint for each point in the skeleton that has a collision shape attached to it. The rotation limits created by the Configure Joints SOP node are used to set up the cone twist constraints in this node. For any points where the rotation limits were not set, you can create pin or cone constraints to prevent the ragdoll from immediately separating.

Parameters

Use Rest Pose Attribute

When on, uses a point rest transform attribute to set the skeleton to its rest state before creating the constraints.

Rest Pose Attribute

The name of the rest transform point attribute. By default, rest_transform.

This parameter is only available when Use Rest Pose Attribute is on.

Use Configuration Attribute

When on, uses a point configuration attribute to apply rotation limits as defined by the Configure Joints SOP node (for example).

Configuration Attribute

The name of the configuration point attribute.

This parameter is only available when Use Configuration Attribute is on.

Missing Rotation Limits

When Use Configuration Attribute is on, and if there is a collision shape whose point does not have a rotation limit set, determines what constraint to apply to it.

None

No constraint is created.

Constrain Position and Rotation

A pin constraint is created to attach the point to its parent.

Constrain Position

A cone twist constraint is created to attach the point to its parent but allow it to rotate freely.

Guide Geometry

Display Collision Shapes

When on, the guide geometry for the collision shapes appears in the viewport.

Display Constraint Geometry

When on, the guide geometry for the constraints appears in the viewport.

Guide Size

Sets the size of the constraint guide geometry in the viewport..

Display Collision Geometry

When on, the guide geometry for the collision geometry appears in the viewport.

Internal Constraints

Lists the settings for the pin and/or cone constraints holding the Target Skeleton together.

Random Seed

Sets the seed used when adding random variation to the cone twist constraints' parameters.

Softness

Sets the Softness threshold. Once an angle is greater than Softness times the maximum angle, the constraint begins to take effect. Lowering the value of Softness softens the constraint boundaries. However, values that are too small can cause a popping effect at the start of the simulation for points that are near their rotation limits and are past the Softness threshold.

Randomness

Sets how much by which the Softness is randomly varied.

Constraint Force Mixing

Increasing this makes the constraint spongier, and potentially increase the stability of the simulation. The constraint can be violated by an amount proportional to the force required to re-establish the constraint times the Constraint Force Mixing.

Randomness

Sets how much by which the Constraint Force Mixing can be randomly varied.

Bias Factor

The rate at which the constraint corrects errors in position or orientation. A value of 1 ensures that the constraint is always obeyed. We recommended that you keep the Bias Factor between 0.2 and 0.5.

Randomness

Sets how much by which the Bias Factor is randomly varied.

Relaxation Factor

Sets the rate at which the angular velocity is changed by the constraint. A low value means the constraint modifies the velocities slowly, leaving the boundaries to appear softer.

Randomness

Sets how much by which the Relaxation Factor is randomly varied.

Position CFM

Increasing this makes the constraint spongier, and potentially increases the stability of the simulation. The position component of the constraint can be violated by an amount proportional to the force required to re-establish the constraint times Position CFM.

Randomness

Sets how much by which the Position CFM is randomly varied.

Position ERP

Specifies what proportion of the position error is fixed during the next simulation step. We recommend a value between 0.1 and 0.8 is recommended for most simulations.

Randomness

Sets how much by which the Position CFM is randomly varied.

External Constraints

List the settings for any custom constraints between the Target Skeleton and Collision Geometry.

Constraints

Adds or removes Constraints mutliparms.

Tag Index

When on, creates a unique identifier that will be added to each external constraint primitive. The tag index is added to the @constraint_tag primitive attribute that is created inside this node. The format of the attribute for the external constraints is @constraint_tag="external"+tagidx.

Tip

Use this index to create custom groups of external constraints. For example, like giving all Hard constraints the same index to make configuring them further easier, like with a RBD Constraint Properties.

Joint Group

Specifies the joints to create the external constraints for.

Target

Specifies what to attach the external constraint to.

Collision Geometry

Attach the constraint to the Collision Geometry from the Input 3.

Skeleton

Attach the constraint to another joint.

Constrain To

Specifies which component of the Collision Geometry to attach the constraint to.

Closest Location on Primitive

Attach the constraint to the closest primitive on the Collision Geometry.

Closest Point

Attach the constraint to the closest point on the Collision Geometry.

Target Primitives Group

Specifies the Collision Geometry primitive group in which to look for the Closest Location on Primitive.

This parameter is only available when Constrain To is set to Closest Location on Primitive.

Target Points Group

Specifies the Collision Geometry point group in which to look for the Closest Point.

This parameter is only available when Constrain To is set to Closest Point.

Target Group

Specifies the target joint to attach the constraint to.

The parameter is only available when Target is set to Skeleton.

Use Target Transform

When on, orient the attached constraint point to match the target’s transform attribute.

Note

When Degrees of Freedom is set to include rotation, this option will force the constrained Joint Group to match the orientation of the target.

Enable Max Distance

When on, the Max Distance value is used by the external constraint.

The parameter is only available when Target is set to Collision Geometry.

Max Distance

Determines the maximum distance from the Joint Group to look for the points or primitives to constraint to.

The parameter is only available when Enable Max Distance is on.

Constraint Type

Specifies the type for the external constraint.

Hard

Strongly constrains position and/or rotation with no allowable movement. Joint acts like it is parent constrained to the external collision object. For more information, see the Hard Constraint Relationship DOP node documentation.

Soft

Constrains position and/or rotation, but with a small amount of allowable movement. Joint acts like it is parent constrained to the external collision object, but it is allowed to transform by the amount set by Stiffness. The lower the Stiffness, the more the constrained joint is allowed to jiggle or move around. For more information, see the Bullet Soft Constraint Relationship DOP node documentation.

Glue

Strongly constrains the joint to the external collision object until the force (generated by the physics solver) applied to it is greater than the specified Strength, and then the bond breaks. The strength of the glue bond is determined by the Strength parameter. For more information, see the Glue Constraint Relationship DOP node documentation.

Degrees of Freedom

Specifies whether the constraint affects position, orientation, or both. This does not apply to Glue constraints, which work by simulating glued chunks together as a single object with a compound collision shape.

Strength

Specifies the strength of the glue bond. If the value is -1, then the connection will never break.

The parameter is only available when Constraint Type is set to Glue.

Rest Length

Manipulates the rest_length constraint attribute. A value of 1 sets the rest_length to be equal to the distance between the Joint Group and the target position.

The parameter is only available when Constraint Type is set to Hard or Soft.

Constraint Force Mixing

Increasing this value makes the constraint spongier, and may increase the stability of the simulation. The constraint can be violated by an amount proportional to Constraint Force Mixing times the force that is needed to enforce the constraint.

The parameter is only available when Constraint Type is set to Hard.

Error Reduction Parameter

Specifies what proportion of the constraint error will be fixed during the next simulation step. If ERP is set to 0, then constrained objects will drift apart as the simulation proceeds. If ERP is set to 1, then the solver will attempt to fix all constraint errors during the next simulation step (however, this may result in instability in some situations). We recommend a value between 0.1 and 0.8 for most simulations.

The parameter is only available when Constraint Type is set to Hard.

Stiffness

Specifies the strength of the force that attempts to match the transforms of the two anchors.

The parameter is only available when Constraint Type is set to Soft.

Damping Ratio

Specifies how much damping is applied to the motion. A value of 0 specifies no damping, and a value of 1 provides just enough damping to prevent oscillation. Values between 0 and 1 allow oscillation (with some damping), and values greater than 1 provide increasingly damped motion that has no oscillation.

The parameter is only available when Constraint Type is set to Soft.

Inputs

Input 1

Target Skeleton. The input skeleton to build constraints for.

Input 2

Collision Shapes. The collision shapes belonging to the Target Skeleton.

Input 3

Collision Geometry. Geometry to use as a target to attach the external constraints to. This input must be in the form of packed geometry or RBD packed geometry, as set up by RBD Pack SOP node.

Outputs

Output 1

Target Skeleton. The input skeleton.

Output 2

Constraint Geometry. The constraint geometry created by this node.

Output 3

Collision Shapes. The collision shapes belonging to the Target Skeleton.

Output 4

Collision Geometry. Geometry to use as a target to attach the external constraints to. The output is in the form of RBD packed geometry, as set up by RBD Pack SOP node (for example).

See also

Geometry nodes