Chapter 13: Implementing Inverse Kinematics
Inverse Kinematics (IK) is the process of solving how a set of joints should be oriented to reach a specified point in world space. For example, you could specify a point for a character to touch. By using IK, you can figure out how to rotate the character's shoulder, elbow, and wrist in a way that the character's finger is always touching a specific point.
There are two algorithms commonly used for IK, that is, CCD and FABRIK. Both will be covered in this chapter. By the end of this chapter, you should be able to do the following:
- Understand how CCD IK works
- Implement a CCD solver
- Understand how FABRIK works
- Implement a FABRIK solver
- Implement ball-and-socket constraints
- Implement hinge constraints
- Understand where and how IK solvers fit into an animation pipeline