The Rag Doll constraint is useful for simulating complex joints, like those found in some human and animal joints (shoulders, hips), that cannot be properly simulated by simpler constraints like Hinge or Point-Point constraints.
Because they represent complex joints, the rotational limits use a complex parameterization that can benefit from some explanation. This section covers the different axes, planes, and cones used for that parameterization. We'll begin with a simple picture of two objects connected by a rag doll constraint; you can think of a shoulder joint, where the parent body is the torso and the child body the upper arm:
The illustration shows three axes of importance: the Twist Axis, the Plane Axis and the Twist X Plane Axis. The twist axis is probably the easiest to visualize and you can do so by simply stretching out your arm and rotating it so that your thumb changes from pointing upwards to downwards. Your movement is just a series of rotations along the twist axis of the shoulder and elbow. In general, the twist axis should follow the length of the child body in a joint. In reactor you can specify the extent to either side of the neutral position the constraint can twist; this need not be symmetrical.
The other two axes are interlinked and together control the volume the child body may occupy. So first we'll look at the cone angles that allow you to specify the volume that the child may move through:
If you imagine the constraint representing your shoulder, then the green volume is the range of allowed positions your upper arm may occupy. However, we can refine the allowed volume further by using the plane axis to enforce plane limits. These limits are used to generate two further cones:
This allows us to create two different scenarios: one where the cones generated by the plane limits intersect with cone produced by the cone angles, and another where they do not:
If the volumes do not intersect, the plane limits have no effect in the constraint. However, by allowing the cones to intersect, and deeming the overlapping volume as invalid body positions, we can limit the allowed positions for the child body even further:
Back to Rag Doll Constraint.