Game Development Reference
continues to move then this is an ideal candidate for an IK solution. A few
seconds later the character may be running around. As soon as the hand
leaves the surface the animation will be better handled by a forward
kinematic solution. What we need to be careful about is that the two
solutions blend well visually. One technique is to calculate two solutions
until the hand is within bounds that could leave the wall.
By calculating both solutions we can determine when the hand would
move away using the forward kinematics solution. At this stage, we need
to blend the IK solution into the forward kinematic solution. We can use a
progressively changing weight to determine the final outcome. If we set
the blend to be over 1 second and blendtime is the number of seconds
that have elapsed during the blend, then the two solutions are based
IK * (1 - blendtime) + FK * blendtime
As soon as blendtime exceeds 1.0, we can stop calculating the IK
solution and rely solely on the forward kinematic animation.
IK solutions can be calculated in sufficient time to be applicable to real-
time engines for character animation. By using IK the stored animations
can be extended and do not represent as great a limitation on interactivity.
Using Cyclic Coordinate Descent, the IK solution is quite robust and
efficiently calculated. Combining forward and inverse kinematics gives the
maximum flexibilty. Using joint strengths allows the developer to make
some parts of the model appear more supple than others to the viewer.