Game Engine Architecture

(Ben Green) #1

514 11. Animation Systems


11.4.4. A Simple Animation Data Format
Typically, animation data is extracted from a Maya scene fi le by sampling the
pose of the skeleton discretely at a rate of 30 or 60 samples per second. A sam-
ple comprises a full pose for each joint in the skeleton. The poses are usually
stored in SQT format: For each joint j, the scale component is either a single
fl oating-point scalar Sj , or a three-element vector Sj = [ Sjx Sjy Sjz ]. The rotation-
al component is of course a four-element quaternion Qj = [ Qjx Qjy Qjz Qjw ].
And the translational component is a three-element vector Tj = [ Tjx Tjy Tjz ].
We sometimes say that an animation consists of up to 10 channels per joint,
in reference to the 10 components of Sj , Qj , and Tj. This is illustrated in Fig-
ure 11.20.

Figure 11.19. A global clock approach can alleviate animation synchronization problems.

0123456789

Samples

Joint 0

T 0
Q 0
S 0

Joint 1

T 1
Q 1
S 1

...
yxz
yxz
w
yxz

... ...
Figure 11.20. An uncompressed animation clip contains 10 channels of fl oating-point data
per sample, per joint.
Free download pdf