Game Development Reference
In-Depth Information
nodes can belong to one or more skinned models and are grouped in a
SBVCAnimation node. Thus, the fields boneID and muscleID must be
unique in the scene graph and their values must lie in the interval [0,
…1,023].
boneAnimationMaskVector
To address high compression efficiency, a hierarchical representation of
the bone motion is used. At the first level, the bone motion is decomposed
into translation, rotation, scale, scale orientation and center transformation.
At the second level, all of these components that are set to 1 in the bone
mask, are individually decomposed in elementary motions (e.g., translation
along the X axis, rotation with respect to Y axis). This hierarchical
processing makes it possible to obtain short mask vectors. The size of the
boneAnimationMaskVector can vary from two bits (corresponding to a
single elementary motion) to 21 bits (all the components of the local
transformation of the bone change with respect to the previous key-frame).
boneAnimationValueVector
The boneAnimationValueVector contains the values to be updated corre-
sponding to all elementary motions with a mask value of 1. The order of the
elements in the boneAnimationValueVector is obtained by analyzing
boneAnimationMaskVector .
muscleAnimationMaskVector
The muscle animation parameters in the SMS stream are coordinates of the
control points of the NURBS curve, weights of the control points and/or
knot values.
The number of control points and the number of elements of the knot
sequence are integers between 0 and 63 and they are encoded in the
muscleAnimationMaskVector , after the muscleID field. As in the case of
the bone, a hierarchical processing is used to represent the mask.
muscleAnimationValueVector
The muscleAnimationValueVector contains the new values of the muscle
animation parameters. As in the case of a bone, this vector is ordered
according to the muscleAnimationMaskVector .
Search WWH ::




Custom Search