494 11. Animation Systems
robots and machinery that really is constructed of rigid parts, but it breaks
down under scrutiny when applied to “fl eshy” characters.
11.1.3. Per-Vertex Animation and Morph Targets
Rigid hierarchical animation tends to look unnatural because it is rigid. What
we really want is a way to move individual vertices so that triangles can stretch
to produce more-natural looking motion.
One way to achieve this is to apply a brute-force technique known as
per-vertex animation. In this approach, the vertices of the mesh are animated
by an artist, and motion data is exported which tells the game engine how to
move each vertex at runtime. This technique can produce any mesh deforma-
tion imaginable (limited only by the tessellation of the surface). However, it
is a data-intensive technique, since time-varying motion information must be
stored for each vertex of the mesh. For this reason, it has litt le application to
real-time games.
A variation on this technique known as morph target animation is used in
some real-time games. In this approach, the vertices of a mesh are moved by
an animator to create a relatively small set of fi xed, extreme poses. Animations
are produced by blending between two or more of these fi xed poses at runtime.
The position of each vertex is calculated using a simple linear interpolation
(LERP) between the vertex’s positions in each of the extreme poses.
The morph target technique is oft en used for facial animation, because
the human face is an extremely complex piece of anatomy, driven by roughly
50 muscles. Morph target animation gives an animator full control over every
vertex of a facial mesh, allowing him or her to produce both subtle and ex-
treme movements that approximate the musculature of the face well. Figure
11.3 shows a set of facial morph targets.
Figure 11.3. A set of facial morph targets for NVIDIA’s Dawn character.