of dust rising from the footstep), or you may want to trigger a game event (e.g., a
non-playing character ducks to avoid a punch).
Continuous information:
You may want some process to adjust smoothly as a result of
the animation.
An example would be having the camera motion being coordinated
with the animation. Another example would be parameters that continuously modify
the texture coordinates or lighting properties of the object. Unlike event triggers, such
actions should be smoothly interpolated.
This auxiliary information can be encoded in additional streams, called
meta-channels
(see
Fig. 2). This information will be interpreted by the game engine.
Skinning and Vertex Binding:
Now that we know how to specify the movement of the skeleton
over time, let us consider how to animate the skin that will constitute the drawing of the
character. The first question is how to represent this skin. The most convenient representation
from a designer’s perspective, and the one that we will use, is to position the skeleton in the
reference pose and draw the skin around the resulting structure (see Fig. 3(a)).
joint
bone
skin
overlap
crack
(a)
(b)
Fig. 3: (a) Binding skin to a skeletal model in the reference pose and (b) cracks and overlaps.
In order that the skin move smoothly along with the skeleton, we need to associate, or
bind
,
vertices of the mesh to joints of the system, so that when the joints move, the skin moves as
well. (This is the reason that the reference pose is called the bind pose.)
If we were to bind each vertex to a single joint, then we would observe
cracks
and
overlaps
appearing in our skin whenever neighboring vertices are bound to two different joints that
are rotated apart from one another.
Dealing with this problem in a realistic manner will be too difficult. (The manner in which
the tissues under your skin deform is a complex anatomical process. Including clothing on top
of this makes for a tricky problem in physics as well.) Instead, our approach will be to find
a heuristic solution that will be easy to compute and (hopefully) will produce fairly realistic
results.
Lecture 10
4
Spring 2018

CMSC 425
Dave Mount & Roger Eastman
Linear-Blend Skinning:
The trick is to allow each vertex of the mesh to be bound to multiple
joints. When this is done, each joint to which a vertex is bound is assigned a
weighting factor
,
that specifies the degree to which this joint influences the movement of the vertex.
For example, the mesh vertices near your elbow will be bound to both the shoulder joint (your
upper arm) and the elbow joint (your lower arm). As we move down the arm, the shoulder
weight factor diminishes while the elbow weight factor increases.
Consider for example,
consider a vertex
v
that is located slightly above the elbow joint (see Fig. 4(a)).
In the
bind pose, let
v
1
and
v
2
denote its positions relative to the shoulder and elbow joint frames,
respectively.


You've reached the end of your free preview.
Want to read all 111 pages?
- Spring '17
- Roger Eastman, game objects, Dave Mount