The new Humanoid Animation Framework, defined by MPEG-4 SNHC (Preda,
2002; Preda & PrĂȘteux, 2001) is defined as a biomechanical model in AFX and
is based on a rigid skeleton. The skeleton consists of bones, which are rigid
objects that can be transformed (rotated around specific joints), but not deformed.
Attached to the skeleton, a skin model is defined, which smoothly
follows any skeleton movement.
More specifically, defining a skinned model involves specifying its static and
dynamic (animation) properties. From a geometric point of view, a skinned model
consists of a single list of vertices, connected as an indexed face set. All the
shapes, which form the skin, share the same list of vertices, thus avoiding seams
at the skin level during animation. However, each skin facet can contain its own
set of color, texture and material attributes.
The dynamic properties of a skinned model are defined by means of a skeleton
and its properties. The skeleton is a hierarchical structure constructed from
bones, each having an influence on the skin surface. When bone position or
orientation changes, e.g., by applying a set of Body Animation Parameters,
specific skin vertices are affected. For each bone, the list of vertices affected
by the bone motion and corresponding weight values are provided. The weighting
factors can be specified either explicitly for each vertex or more compactly by
defining two influence regions (inner and outer) around the bone. The new
position of each vertex is calculated by taking into account the influence of each
bone, with the corresponding weight factor. BAPs are now applied to bone nodesand the new 3D position of each point in the global seamless mesh is computed
as a weighted combination of the related bone motions.
The skinned model definition can also be enriched with inverse kinematicsrelated
data. Then, bone positions can be determined by specifying only the
position of an end effector, e.g., a 3D point on the skinned model surface. No
specific inverse kinematics solver is imposed, but specific constraints at bone
level are defined, e.g., related to the rotation or translation of a bone in a certain
direction. Also muscles, i.e., NURBS curves with an influence region on the
model skin, are supported. Finally, interpolation techniques, such as simple linear
interpolation or linear interpolation between two quaternions (Preda & PrĂȘteux,
2001), can be exploited for key-value-based animation and animation compression.