Houdini 20.0 Nodes Geometry nodes

Ragdoll Solver 2.0 geometry node

Runs a ragdoll RBD simulation on the target skeleton.

On this page
Since 20.0

This node runs a ragdoll RBD simulation on the target skeleton. This node is also a wrapper around a DOP network to simplify the running of ragdoll solves.

You can dive into this node to add DOP nodes and apply custom forces.

Parameters

Reset Simulation

Clears the entire simulation cache.

See Dop Network.

Frame Range

Specifies the frame range of the simulation. The simulation will begin cooking at the start frame, and stop after the end frame.

Activation Frame

When enabled, the ragdoll will initially be inactive until this frame. This can be used to keyframe when the ragdoll becomes active.

Solver

Time Scale

Specifies the scale value (multiplier) for the time step used by the solver. This can create bullet-time like effects where the physics of the Bullet solver run at a different rate than the Houdini playbar. A value of 2 will cause objects to fall twice as fast, and a value of 0.1 will slow them to a tenth of the speed. This parameter can be animated.

Number of Substeps

Specifies the number of substeps for each simulation step. This is used by Bullet internally. Increasing this number increases the resolution of the simulation.

Tip

Increasing the number of substeps is one way to fix the problem of collisions not being detected for quickly moving objects.

Constraint Iterations

Specifies the number of constraint iterations used by the solver. The more iterations you use, the more accurate the constraint and collision handling is.

Bullet World Scale

Scales the internal simulation world by this amount and scales the output geometry by the inverse of this number. Simulating at a larger scale can improve the simulation’s performance and stability when there are tiny objects.

Warning

When scaling the Bullet world, custom forces applied in the editable subnet will need to be aware of the scale.

Gravity

When enabled, specifies the gravity force to apply to the skeleton.

Ground Collision

Ground Type

None

The ground plane is disabled.

Ground Plane

Adds a ground plane to the simulation.

Position

Specifies the location of the center of the ground plane.

This parameter is available when Ground Type is set to Ground Plane.

Rotation

Specifies the rotation of the ground plane.

This parameter is available when Ground Type is set to Ground Plane.

Bounce

Specifies the elasticity of the object. If two objects of bounce 1.0 collide, they will rebound without losing energy. If two objects of bounce 0.0 collide, they will come to a standstill.

This parameter is available when Ground Type is set to Ground Plane.

Friction

Specifies the coefficient of friction for the object. A value of 0 means the object is frictionless.

This governs how much the tangential velocity is affected by collisions and resting contacts.

This parameter is available when Ground Type is set to Ground Plane.

Collision Geometry

Tip

The RBD Configure SOP can be used to configure advanced properties of the collision objects.

Collision Type

Specifies the initial state of the collision objects.

Static

The objects will not move or react to other objects in the simulation.

Animated (Rigid)

The objects' transforms will be updated on each timestep, but the objects will not react to other objects in the simulation. This is more efficient than Animated (Deforming) and enables more accurate collision detection, but requires that the objects' animation follows rigid motion.

Animated (Deforming)

The objects' collision shapes will be rebuilt on each timestep, but the objects will not react to other objects in the simulation.

Active

The objects will be simulated and react to other objects in the simulation.

Collision Shape

The shape used by the Bullet engine to represent the object. The Show Guide Geometry parameter can be used to visualize this collision shape.

Convex Hull

The default shape for the object. The Bullet Solver creates a collision shape from the convex hull of the geometry points.

Concave

The Bullet Solver converts the geometry to polygons and creates a concave collision shape from the resulting triangles. This shape is useful when simulating concave objects such as a torus or a hollow tube. However, it is recommended to only use the concave representation when necessary, since the convex hull representation typically provides better performance.

Box

The bounding box of the object.

Capsule

The bounding capsule of the object.

Cylinder

The bounding cylinder of the object.

Compound

Creates a complex shape consisting of Bullet primitives (including boxes, spheres, and cylinders). You will need to use the Bake ODE SOP.

Sphere

The bounding sphere of the object.

Plane

A static ground plane.

Bounce

Specifies the elasticity of the object. If two objects of bounce 1.0 collide, they will rebound without losing energy. If two objects of bounce 0.0 collide, they will come to a standstill.

Friction

Specifies the coefficient of friction for the object. A value of 0 means the object is frictionless.

This governs how much the tangential velocity is affected by collisions and resting contacts.

Ragdoll

Rest Pose Attribute

Specifies the name of the rest transform point attribute.

Note

In order for the solve to behave as expected, the Rest Pose Attribute has to be the same as the rest pose attribute used to configure the collision shapes, in the Ragdoll Collision Shapes SOP node.

Configuration Attribute

Specifies the name of the point configuration attribute to read rotation limits from, as defined by the Configure Joint Limits SOP node (for example).

Pin Root

If enabled, collision shapes which do not have an ancestor collision shape will be constrained to keep them attached to the skeleton instead of being allowed to move freely. This can be useful when simulating only a subset of the skeleton (for example, a tail).

Configurations

Enable Configuration

Toggles whether the configuration is applied to the joint group.

Group

The group of joints to configure.

Match World Transforms

When enabled, the joints will attempt to match the target skeleton’s world transforms, according to the Position Stiffness, Position Damping, Orientation Stiffness, and Orientation Damping. This can be useful for pinning specific joints to follow the target animation.

Position Stiffness

Specifies the strength of the force that attempts to match the world space target position.

This value is equivalent to the frequency of a spring.

Position Damping

Specifies how much damping is applied to the motion when attempting to match the world space target position. 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.

This value is equivalent to the damping ratio of a spring.

Orientation Stiffness

Specifies the strength of the force that attempts to match the world space target orientation.

This value is equivalent to the frequency of a spring.

Orientation Damping

Specifies how much damping is applied to the motion when attempting to match the world space target orientation. 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.

This value is equivalent to the damping ratio of a spring.

Match Local Transforms

When enabled, the joints will attempt to follow the target skeleton’s local transforms, according to the Bend Stiffness and Bend Damping. This can be useful to inherit motion from the target animation without forcing the ragdoll to match the skeleton’s world space transforms.

Bend Stiffness

Specifies how much the joint resists changes to its local rotation, or how strongly it attempts to match the target animation’s local transform when Match Local Transforms is enabled.

This value is equivalent to the frequency of a spring.

Bend Damping

Specifies how much damping is applied when resisting changes to the joint’s local rotation, or when matching the target animation’s local transform when Match Local Transforms is enabled.

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. This value is equivalent to the damping ratio of a spring.

Physical

Physical Properties

Specifies physical properties for groups of joints in the skeleton.

Enable Configuration

Toggles whether the physical property configuration is applied to the joint group.

Group

The group of joints to configure physical properties for.

Density

The mass of an object is its volume times its density.

Bounce

Specifies the elasticity of the object. If two objects of bounce 1.0 collide, they will rebound without losing energy. If two objects of bounce 0.0 collide, they will come to a standstill.

Friction

Specifies the coefficient of friction for the object. A value of 0 means the object is frictionless.

This governs how much the tangential velocity is affected by collisions and resting contacts.

Constraints

Adds custom constraints between joints in the skeleton and the Collision Geometry.

Enable Constraint

Toggles whether the constraint is enabled.

Joint Group

Specifies the joints to create the external constraints for.

Target

Specifies what to attach the constraint to.

Collision Geometry

Attaches the constraint to the Collision Geometry.

Skeleton

Attaches the constraint to another joint in the skeleton.

Constrain To

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

Closest Location on Primitive

Attach the constraint to the closest surface location 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 Joint 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 enabled, orients 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.

Max Distance

Specifies the maximum distance from the Joint Group to look for the target geometry to constrain to.

The parameter is only available when Use Max Distance is enabled.

Degrees of Freedom

Specifies whether the constraint affects position, orientation, or both.

Rest Length Scale

Scales the constraint’s rest length. A value of 1 sets the rest length to be equal to the distance between the Joint Group and the target position.

Stiffness

Specifies the strength of the force that attempts to match the target transform.

This value is equivalent to the frequency of a spring.

Damping Ratio

Specifies how much damping is applied to the motion when attempting to match the target transform. 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.

This value is equivalent to the damping ratio of a spring.

Guide Geometry

Display Reference Collision Shapes

Enables visualization of the character’s collision shapes, deformed to follow the target animation. This can be used in combination with the Offset to visualize the target animation next to the simulated result.

Display Collision Shapes

Enables visualization of the character’s collision shapes, deformed to follow the simulated skeleton.

Display Ground Plane

Enables visualization of the ground collision geometry.

Display Constraints

Enables visualization of attachment constraints.

Display Collision Geometry

Enables visualization of the collision objects.

Offset

Translates the guide geometry to allow viewing it next to the original skeleton.

Inputs

Target Skeleton

The skeleton to run through the ragdoll simulation.

Collision Shapes

The collision shapes belonging to the Target Skeleton.

Collision Geometry

Geometry to use as a collider in the simulation. This input must be in the form of packed geometry or RBD packed geometry like that which is set up by a RBD Pack SOP node.

Outputs

Skeleton

The input skeleton after the simulation.

See also

Geometry nodes