Biped Hierarchy
The biped hierarchy that is used to determine the relationships between the biped parent and child body parts is different from the hierarchy presented by the max nodes parent/child relationships. The reason for this difference is to make the biped move more naturally when it is being animated. For example, the upper arm links inherit their rotation from the center of mass, instead of from the clavicle, to which they are connected. This enables you to animate the spine without counter rotating the arms.
The internal biped body parts might have different parents for both rotation and position. Here is a brief description about the hierarchy.
Rotation Hierarchy
- The base of the spine, the base of the neck, the upper arms and legs, and the feet inherit their rotation from the center of mass.
- The clavicle inherits its rotation from the last spine link.
- The other biped body parts inherit their rotation from their parent
INode
.
Axis of Rotation
You can see the local axis of rotation for a bone by selecting the Local option from the Reference Coordinate System drop-down menu in the main toolbar. Typically, these are the rotation characteristics.
- The X axis is through the length of the bone.
- Joints with one degree of freedom usually rotate along the Z axis.
- There are no thresholds for rotation except when Inverse Kinematics (IK) is applied to a limb.
Position Hierarchy
- The base of the spine inherits its position from the center of the mass.
- The clavicle inherits its position from the last spine link.
- The upper leg link inherits its position from the pelvis.
- The other biped body parts inherit their position from the parent
INode
.
Biped Degrees of Freedom
The following biped body parts lack three degrees of freedom.
- The pelvis has two degrees of freedom.
- The clavicle has two degrees of freedom.
- The knee and elbow have one degree of freedom.
- The horse ankle in a four link leg have one degree of freedom.
- The finger and toe segments excluding the base have one degree of freedom.
To convert the bone transformation hierarchy of a biped by using the general SDK calls on the nodes, perform the following steps:
- Traverse the bone link hierarchy and extract the local transformation matrices.
- Convert the transformation matrices into either quaternion or Euler angles by using your own conventions.