This asset contains a simple Bullet simulation for use while setting up the collision geometry and joint limits of a ragdoll. This can be used to quickly observe how the ragdoll behaves under different settings.

## Parameters

## Ragdoll

Display Collision Layer

Sets the agent’s current layer to be the same as its collision layer. This can be used to visualize the collision geometry used by the solver.

Number of Substeps

Specifies the number of substeps to be used by the Bullet solver.

Constraint Iterations

Specifies the number of constraint solver iterations to be used by the Bullet solver.

Initial Velocity

The initial velocity of the ragdoll.

Initial Angular Velocity

The initial angular velocity of the ragdoll.

Enable Gravity

Controls whether gravity is enabled. Disabling gravity can be useful when debugging situations where agents are initially violating their rotation limits.

Gravity

Specifies the acceleration due to gravity.

Ground Plane Position

The translation of the ground plane.

Ground Plane Rotation

The rotation of the ground plane.

## Constraints

Pin Root Collision Shapes

If there are multiple root collision shapes, pin constraints will be created to hold those objects together.

Pin Shapes With No Rotation Limits

If there is a shape whose joint did not have a rotation limit set, a pin constraint will be created to attach it to its parent.

Allow Initial Violation of Limits

If the rotation limits are initially violated, the limits will not be enforced but further rotation will be prevented. This allows the objects to naturally move back within the rotation limits, instead of introducing sudden motion at the beginning of the simulation.

Softness

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 joints that are near their rotation limits and are past the softness threshold.

Constraint Force Mixing

Increase this to make the constraint spongier, and potentially increase the stability of the simulation. The constraint may be violated by an amount proportional to the force required to re-establish the constraint, times this parameter.

Bias Factor

The rate at which the constraint corrects errors in position or orientation. A value of 1 will ensure that the constraint is always obeyed. It is recommended to keep bias between 0.2 and 0.5.

Relaxation Factor

The rate at which the angular velocity is changed by the constraint. A low value means the constraint will modify the velocities slowly, leaving the boundaries appearing softer.

Position CFM

Increase this to make the constraint spongier, and potentially increase the stability of the simulation. The position component of the constraint may be violated by an amount proportional to the force required to re-establish the constraint, times this parameter.

Position ERP

Specifies what proportion of the position error will be fixed during the next simulation step. A value between 0.1 and 0.8 is recommended for most simulation.

### Stiffness

Enable Stiffness

Stiffness adds a certain resistance to the solver’s attempts to move joints from their current orientation to the "target" (animated or simulated) orientation.

Group

A named transform group specifying which joints should become stiff. You can create joint groups in the agent setup network with the Agent Transform Group SOP.

Stiffness Value

If this is "Constant", the stiffness is the same for the duration of the state. You can choose "Ramp" to change the value according to a ramp based on how long the agent has been in the state.

Stiffness

When **Stiffness value** is "Constant", how much to resist changes to the current joint rotations. A value between `0.2`

(the default) and `0.5`

read as "stiff but not too stiff". Values of `1`

or more will be very stiff.

Time Range

When **Stiffness value** is "Ramp", the start and end times (in seconds) corresponding to the start and end of the ramp. For example, if you set this to `0.0`

and `5.0`

, the ramp lets you control the stiffness over the first 5 seconds the agent is in this state. Outside this range, the ramp extends the first and last values.

Stiffness Scale

When **Stiffness value** is "Ramp", a scale on the value of the **Stiffness Ramp**.

Stiffness Ramp

Sets the stiffness at each point during the time the agent is in this state. Houdini can’t know how long the agent might be in this state, so you have to set up a **Time Range** and define the stiffness in just that range. Outside this range, the ramp extends the first and last values.

Constraint Force Mixing

Increasing this value makes the motor component of the constraint softer. A small positive value can increase the stability of the simulation.

## Simulation

Reset Simulation

Clears the entire simulation cache.

Sub Steps

Specifies how many substeps the DOP simulation should perform each frame.

Start Frame

Specifies the frame at which the simulation will start cooking.

Scale Time

Specifies a scale factor that relates global time to the simulation time for the DOP Network.

See also |