556 11. Animation Systems
types of characters, it is usually bett er to create multiple meshes skinned to the
same skeleton when possible, so that all of the characters can share a single
set of animations.
11.10.1.2. Per-Instance Data
In most games, multiple instances of each character type can appear on-screen
at the same time. Every instance of a particular character type needs its own
private data structures, allowing it to keep track of its currently playing ani-
mation clip(s), a specifi cation of how the clips are to be blended together (if
there’s more than one), and its current skeletal pose.
There is no one universally accepted way to represent per-instance ani-
mation data. However, virtually every animation engine keeps track of the
following pieces of information.
- Clip state. For each playing clip, the following information is main-
tained:
□ Local clock. A clip’s local clock describes the point along its lo-
cal time line at which its current pose should be extracted. This
may be replaced by a global start time in some engines. (A com-
parison between local and global clocks was provided in Sec-
tion 11.4.3.)
□ Playback rate. A clip can be played at an arbitrary rate, denoted R in
Section 11.4.2. - Blend specifi cation. The blend specifi cation is a description of which ani-
mation clips are currently playing and how these clips are to be blended
together. The degree to which each clip contributes to the fi nal pose is
Skeleton
Clip N
...
Skin A
Skin B
Skin C
Clip 1
Clip 2
Clip 3
other skeletons...
... ...
Figure 11.46. Many animation clips and one or more meshes target a single skeleton.