From these, it is simple exercise in linear algebra to determine the joint angles that gave rise to
these motions.
Motion capture has the advantage of producing natural motions. Of course, it might be difficult
to apply for fictitious creatures, such as flying dragons.
Key-frame Generated:
A design artist can use animation modeling software to specify the joint
angles. This is usually done by a process called
key framing
, where the artists gives a detailed
layout of the model at certain “key” instances in over the course of the animation, called
key
frames
.
(For example, when animating a football kicker, the artist might include the moment
when the leg starts to swing forward, an intermediate point in the swing, and the point at which
the leg is at its maximum extension.)
An automated system can then be used to smoothly
interpolate the joint angles between consecutive key frames in order to obtain the final animation.
(The term “frame” here should not be confused with the use of term “coordinate frame” associated
with the joints.)
Goal Oriented/Inverse kinematics:
In an ideal world, an animator could specify the desired be-
havior at a high level (e.g., “a character approaches a table and picks up a book”).
Then the
physics/AI systems would determine a natural-looking animation to achieve this. This is quite
Skeletal Animation and Skinning
58
CMSC 425

challenging.
The reason is that the problem is under-specified, and it can be quite difficult to
select among an infinite number of valid solutions. Also, determining the joint angles to achieve
a particular goal reduces to a complex nonlinear optimization problem.
Representing Animation Clips:
In order to specify an animation, we need to specify how the joint angles
or generally the joint frames vary with time. This can result in a huge amount of data. Each joint that
can be independently rotated defines a
degree of freedom
in the specification of the pose. For example,
the human body has over 200 degrees of freedom! (It’s amazing to think that our brain can control
it all!) Of course, this counts lots of fine motion that would not normally be part of an animation,
but even a crude modeling of just arms (not including fingers), legs (not including toes), torso, neck
involves over 20 degrees of freedom.
As with any digital signal processing (such as image, audio, and video processing), the standard
approach for efficiently representing animation data is to first
sample
the data at sufficiently small
time intervals.
Then, use some form of interpolation technique to produce a smooth
reconstruction
of the animation.
The simplest manner to interpolate values is based on
linear interpolation
.
It
may be desireable to produce smoother results by applying more sophisticated interpolations, such as
quadratic or cubic spline interpolations. When dealing with rotated vector quantities, it is common to
use
spherical interpolation
.

