Forward Kinematics

Forward Kinematics, or FK, allow you to animate by specifying rotation values for the upper and lower part of the limb, instead of positioning the end controller and letting the computer figure them out (that’s what IK is). FK is useful in a number of different circumstances, for example:

  • Swinging arms that follow the movement of the torso

  • Animating between a clockwise and anti-clockwise pose with very smooth arcs

  • Leg movements that flow outwards from the hip such as kicking, swinging or swimming

  • Breaking the joint’ to let elbows bend backwards slightly

The FK property is a percentage slider that goes from 0 (full IK) to 100 (full FK). You should animate on full IK or full FK, and keyframe the FK property between 0 and 100 (and vice versa) when you need to change. This is sometimes called IK-FK blending. When animating on IK, you typically keyframe the Position property of the end controller. When animating on FK, you keyframe the Upper FK Rotation and Lower FK Rotation values.

FK and IK Matching

When you blend from IK to FK, you rarely want the FK Rotations at their default values, which would make the limb point straight down. By clicking the Match FK > IK button, Limber will work out what the FK Rotation properties need to be in order to match your current IK pose, and set their values accordingly. Similarly, if you are animating in FK, you can click Match IK > FK and Limber will set your end controller’s position property to match your current FK pose. Matching IK to FK can also alter the Clockwise property, since FK Rotations can be either clockwise or anti-clockwise. In this case, Limber will add a keyframe to the Clockwise property if it is already keyframed, or simply set it's value if it is not keyframed.

If the Clockwise property is not fully 100% or -100%, and/or you’re using Anti-pop above zero, the matching isn’t perfect, because those features affect the limb’s length in a way that FK never does. If Anti-pop is zero and Clockwise is fully set, the matching should be perfect.