Game Development Reference
In-Depth Information
consistency of the data over different decoder implementation, the interpolation
schemes were also standardized.
For real-time purposes, a linear interpolation is used for the translation and scale
components and a spherical linear quaternion interpolation is used for the rotation
and
scaleOrientation
components.
Animation frame
In an SMS textual or binary format, for each key frame, two types of information
are defined: a vector corresponding to the animation mask, called
animationMaskVector,
which indicates the components of the geometrical
transformation to be updated in the current frame; and a vector corresponding
to the animation values called
animationValueVector
which specifies the new
values of the components to be updated.
Let us describe the content of each of these vectors. For the exact syntax, one
can refer to the ISOIEC (2003).
•
animationMaskVector
In the animation mask of a key-frame, a positive integer
KeyFrameIndex
indicates to the decoder the number of frames which have to be obtained
by temporal interpolation. If this number is zero, the decoder sends the
frame directly to the animation engine. Otherwise, the decoder computes
n intermediate frames (n=
KeyFrameIndex
) and sends them to the anima-
tion engine, together with the content of the received key-frame.
Some bones or muscles of the SMS virtual character may not be animated
in all frames. The
boneIDs
and
muscleIDs
of the updated bones and
muscles, respectively, are parts of the
animationMaskVector
. In addition,
animationMaskVector
contains the animation mask of each bone,
boneAnimationMaskVector
, and the animation mask of each muscle,
muscleAnimationMaskVector
. These vectors are detailed below.
•
animationValueVector
The
animationValueVector
contains the new values of each bone and
muscle geometric transformation that have to be transmitted and it is
obtained by concatenation of all the
boneAnimationValueVector
and
muscleAnimationValueVector
fields.
For compression efficiency, SMS stream specifications limit the maximum
number of bones and muscle nodes to 1,024 each. These bone and muscle
Search WWH ::
Custom Search