i
i
i
i
i
i
i
i
430 17. Computer Animation
effector. Some examples are shown on Figure 17.18. Many ways of obtaining
specific solution for such systems are available, including those taking into ac-
count natural constraints needed for some real-life joints (bending a knee only in
one direction, for example). One should also remember that the computed Jaco-
bian matrix is valid only for one specificconfiguration, and it has to be updated as
the skeleton moves. The complete IK framework is presented in Figure 17.19. Of
Figure 17.18. Mul-
tiple configurations of in-
ternal joints can result in
the same effector position.
(Top) disjoint “flipped” solu-
tions; (bottom) a continuum
of solutions.
course, the root joint for IK does not have to be the root of the whole hierarchy,
and multiple IK solvers can be applied to independent parts of the skeleton. For
example, one can use separate solvers for right and left feet and yet another one
to help animate grasping with the right hand, each with its own root.
Old skeleton configuration
Update constraints
new values for internal joint parameters
replace old skeleton
configuration with the new one
YES, done
NO
new skeleton configuration
solve equation 1.1
Compute the Jacobian and
desired effector motion
apply forward kinematic to reposition skeleton
Effector at desired position ?
Figure 17.19. A diagram of the inverse kinematic
algorithm.
A combination of FK
and IK approaches is typ-
ically used to animate the
skeleton. Many com-
mon motions (walking or
running cycles, grasping,
reaching, etc.) exhibit well-
known patterns of mutual
joint motion making it pos-
sible to quickly create nat-
urally looking motion or
even use a library of such
“clips.” The animator then
adjusts this generic result
according to the physical
parameters of the character
andalsotogiveitmorein-
dividuality.
When a skeleton changes its position, it acts as a special type of deformer
applied to the skin of the character. The motion is transferred to this surface by
Figure 17.20. Top:
Rigid skinning assigns skin
vertices to a specific joint.
Those belonging to the el-
bow joint are shown in
black; Bottom: Soft skin-
ning can blend the in-
fluence of several joints.
Weights for the elbow joint
are shown (lighter = greater
weight). Note smoother
skin deformation of the in-
ner part of the skin near the
joint.
assigning each skin vertex one (rigid skinning)ormore(smooth skinning) joints
as drivers (see Figure 17.20). In the first case, a skin vertex is simply frozen
into the local space of the corresponding joint, which can be the one nearest in
space or one chosen directly by the user. The vertex then repeats whatever mo-
tion this joint experiences, and its position in world coordinates is determined by
standard FK procedure. Although it is simple, rigid skinning makes it difficult
to obtain sufficiently smooth skin deformation in areas near the joints or also for
more subtle effects resembling breathing or muscle action. Additional specialized
deformers called flexors can be used for this purpose. In smooth skinning, several
joints can influence a skin vertex according to some weight assigned by the ani-