Houdini 20.5 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.

The following are the inputs to the node:

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 for more information.

Frame Range

The frame range of the simulation. The simulation begins cooking at the start frame and stops after the end frame.

Activation Frame

When turned on, the ragdoll is initially inactive until this frame. This can be used to keyframe when the ragdoll becomes active.

Solver

Time Scale

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 runs at a different rate than the Houdini playbar. A value of 2 causes objects to fall twice as fast, and a value of 0.1 slows them down to a tenth of the speed. This parameter can be animated.

Number of Substeps

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

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

Bullet World Scale

Scales the internal simulation world by this amount and 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 need to be aware of the scale.

Gravity

When turned on, 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

The location of the center of the ground plane.

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

Rotation

The rotation of the ground plane.

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

Bounce

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

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

Friction

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 do not move or react to other objects in the simulation.

Animated (Rigid)

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

Animated (Deforming)

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

Active

The objects are simulated and react to other objects in the simulation.

Collision Shape

The shape used by the Bullet engine to represent the object. The Display Collision 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

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

Friction

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

The name of the rest transform point attribute.

Note

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

Configuration Attribute

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

Pin Root

When turned on, collision shapes that do not have an ancestor collision shape are 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

Group

When turned on, the configuration is applied to the specified group of joints.

Match World Transforms

When turned on, the joints 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

When Match World Transforms is turned on, this is 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

When Match World Transforms is turned on, this is the amount of damping 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

When Match World Transforms is turned on, this is 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

When Match World Transforms is turned on, this is the amount of damping 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 turned on, the joints attempt to follow the target skeleton’s local transforms according to the Bend Stiffness and Bend Damping. This can be useful for inheriting 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 turned on.

This value is equivalent to the frequency of a spring.

Bend Damping

The amount of damping that 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 turned on. 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.

Group

When turned on, the physical properties configuration is applied to the specified group of joints.

Density

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

Bounce

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

Friction

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

Constraints

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

Joint Group

When turned on, external constraints are created for the specified joints.

Target

Specifies what to attach the constraint to.

Collision Geometry

Attaches the constraint to the Collision Geometry input.

Skeleton

Attaches the constraint to another joint in the skeleton.

Constrain To

When Target is set to Collision Geometry, this is the component of the Collision Geometry input to attach the constraint to.

Closest Location on Primitive

Attaches the constraint to the closest surface location on the Collision Geometry input.

Closest Point

Attaches the constraint to the closest point on the Collision Geometry input.

Target Primitives Group

When Constrain To is set to Closest Location on Primitive, this is the primitive group on the Collision Geometry input in which to look for the Closest Location on Primitive.

Target Points Group

When Constrain To is set to Closest Point, this is the point group on the Collision Geometry input in which to look for the Closest Point.

Target Joint Group

When Target is set to Skeleton, this is the target joint to attach the constraint to.

Use Target Transform

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

Note

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

Max Distance

When turned on, this is the maximum distance from the Joint Group to look for the target geometry to constrain to. This parameter is available when Target is set to Collision Geometry.

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

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

This value is equivalent to the frequency of a spring.

Damping Ratio

The amount of damping that 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

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

Display Collision Shapes

When turned on, displays a visualization of the character’s collision shapes, deformed to follow the simulated skeleton.

Display Ground Plane

When turned on, displays a visualization of the ground collision geometry.

Display Constraints

When turned on, displays a visualization of the attachment constraints.

Display Collision Geometry

When turned on, displays a visualization of the collision objects.

Offset

Translates the guide geometry, allowing it to be viewed next to the original skeleton.

Inputs

Skeleton

The skeleton to run through the ragdoll simulation.

Collision Shapes

The collision shapes belonging to the Skeleton input.

Collision Geometry

The geometry to use as a collider in the simulation. This input must be in the form of a packed geometry or RBD packed geometry like those set up by the RBD Pack SOP.

Outputs

Skeleton

The input skeleton after the simulation.

See also

Geometry nodes