Defining Rag Doll Limits



Your Ad Here


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:

A. Twist Axis

B. Plane Axis

C. Twist X Plane Axis (outward)

1. Parent Body

2. Child Body

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.

A. Twist Axis (outward)

B. Plane Axis

C. Twist X Plane Axis

1. Twist Min.

2. Twist Max.

3. Twist Range

A. Twist Axis

B. Plane Axis

C. Twist X Plane Axis

1. Twist Range

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:

A. Twist Axis

B. Plane Axis (inward)

C. Twist X Plane Axis

1. Cone Min.

2. Cone Max.

A. Twist Axis

B. Plane Axis

C. Twist X Plane Axis

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:

A. Twist Axis

B. Plane Axis

C. Twist X Plane Axis (outward)

1. Plane

2. Plane Min. Cone

3. Plane Max. Cone

4. Plane Min.

5. Plane Max.

A. Twist Axis

B. Plane Axis

C. Twist X Plane Axis

1. Plane

2. Plane Min. Cone

3. Plane Max. Cone

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:

A. Twist Axis

C. Twist X Plane Axis

1. Plane Min. Cone

2. Plane Max. Cone

A. Twist Axis

C. Twist x Plane Axis (outward)

1. Plane Min. Cone

2. Plane Max. Cone

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:

A. Twist Axis

B. Plane Axis

C. Twist X Plane Axis

Back to Rag Doll Constraint.


Comments

Return to Autodesk Index


Your Ad Here