Kinematics

When you work with bones on a skeleton or effectors on a Control rig, the rules of kinematics are used to specify how the relative motion between these objects is calculated. There are two main kinematic rules, Forward kinematics and Inverse kinematics.

Most animators use a combination of Inverse Kinematics (IK) and Forward Kinematics (FK) to manipulate characters. You can select and manipulate pivot points to affect individual bones using FK, or you can use IK to move a hierarchy of bones.

Most situations require fine-tuning that is only possible using a combination of both FK and IK, so it is a good idea to have a solid understanding of both.

Forward kinematics

Forward Kinematics is the method of transforming a group of connected joints where the movement of the root (or top) of the chain influences all joints along the chain until reaching the end joint. All joints along the chain influence the succeeding joints in the chain, but not the preceding joints. In other words, Forward Kinematics propagates down the chain.

The easiest way to explain this rule is to compare it to a simple chain. The following figure uses four joints to represent an arm.

Arm FK chain A. Shoulder or root joint B. Elbow joint C. Wrist joint D. Hand or end joint

In the arm FK chain, rotation of the shoulder joint (A) is propagated down through the elbow (B) and wrist (C) to the hand (D). If only the elbow (B) is rotated, only the wrist (C) and hand (D) move, but not the shoulder (A). In other words, the joints in an FK chain have a parent-child relationship in which the child node (B) follows the behavior of the parent node (A). Usually, the animator must define these complex rules for all of the joint motions on a character, but in MotionBuilder, the work is done for you by the Control rig.

Forward Kinematics gives you complete control over individual bones in the skeleton, letting you manually position each individual joint in a chain. Some situations may require this kind of fine tuning that may not be possible using Inverse Kinematics alone.

For example, the following figure shows FK effectors on each finger of a character in MotionBuilder. These effectors were translated and rotated to close the hand, something that would not have been possible with IK.

FK lets you manipulate individual joints such as those in the fingers.

Thus, one of the features of FK is that it gives you complete control over individual bones in the skeleton, letting you manually position each individual joint in a chain.

Inverse kinematics

Inverse Kinematics (IK) is the method of transforming a group of connected joints where the movement of the end joint influences all the joints upwards through the chain. Since you are determining the goal of the action by positioning the end effector of a chain, end effectors are sometimes referred to as goals, and IK as “goal-based movement”. All joints influence preceding joints, but not succeeding joints. In other words, inverse kinematics propagates up the chain.

The following figure uses three joints to represent an arm. This time, it is the rotation of the wrist joint (C) that is propagated up through the elbow (B) to the shoulder (A).

IK arm chain A. Shoulder effector B. Elbow effector C. Wrist effector

Any transformation of the IK chain, even a finger tip, is propagated up through the finger joints, hand, wrist, elbow, and shoulder.

Since IK is goal-based, there are an infinite number of positions the IK chain can take to reach the same goal. It is necessary to specify additional effectors that give the main IK chain “hints” in which direction the joints should bend.

MotionBuilder calculates how to position the rest of the chain to reach this goal. This lets you create realistic movement, since all body parts move in relation to other parts. You position the goal, and MotionBuilder positions the rest of the body.

For example, the following figure shows the result of moving the left wrist effector of a character in MotionBuilder. Since the wrist effector is the end effector for the arm hierarchy, the rest of the arm and consequently the body follow and reach toward that effector.

Inverse Kinematics affects related body parts.

The Control rig is responsible for determining which way the joint is pointed. There are also supplementary effectors you can add to a Control rig that correspond to an existing IK effector. Auxiliary effectors and pivots provide additional IK control for the reach of a character, and display on the corresponding IK effector.

Essentially, the IK rig lets you position your character quickly and intuitively by moving effectors at the end of a chain to manipulate a hierarchy of bones. Some situations may require fine tuning that may not be possible using Inverse Kinematics alone. In this case, you can combine Inverse Kinematics with Forward Kinematics to create exactly the position you need.