Graphics Reference
In-Depth Information
35.2 Motivating Examples
We begin with ad hoc methods for creating motion in some simple scenes. These
illuminate the important issues of animation and suggest methods for generalizing
to more formal methods.
35.2.1 A Walking Character (Key Poses)
Consider the case of creating an animation of a person walking. Let the person be
modeled as a 3D mesh represented by a vertex array and an indexed triangle list
as described in Chapter 14. Assume that an artist has already created several vari-
ations on this mesh that have identical index lists but potentially different vertex
positions. These mesh variations represent different poses of the character during
its walk. Each one is called a key pose or key frame. The terminology dates back
to hand-animated cartoons, when a master animator would draw the key frames of
animation and assistant animators performed the “tweening” process of comput-
ing the in-between frames. In 3D animation today, an animator is the artist who
poses the mesh and an algorithm interpolates between them. Note that in many
cases the animator is not the same person who initially created the mesh because
those tasks require different skill sets. Later in the chapter we will address some
of the methods that might be employed to create the poses efficiently. For now
we'll assume that we have the data.
Although a real person might never strike exactly the same key pose twice,
walking is a repetitive motion. We can make a common simplification and assume
that there is a walk cycle that can be represented by repeating a finite number of
discrete poses. For simplicity, assume that the key poses correspond to uniformly
spaced times at 1
4 second intervals, like the ones shown in Figure 35.6.
To play the animation we simply alter the mesh vertices according to the input
data. Most displays refresh 60-85 times per second (Hz). Because the input is at
4 Hz, if we increment to the next key pose for every frame of animation, then the
character will appear to be walking far too fast. For generality, let p = 1
/
4sbe
the period between key poses. Let x ( t )= x ( t ) , y ( t ) , z ( t ) T be the position of one
vertex at time t . The input specifies this position only at t = k
/
/
p for integer values
x ( t )
x (1 / 4)
x (2 / 4)
x (3 / 4)
t
Figure 35.6: Sample-and-hold interpolation of position over time of a point on a charac-
ter's hand.
 
 
 
Search WWH ::




Custom Search