IK/FK Switching
IK/FK switching set-up is mainly used for the arms. But it can be implemented in other parts of the body, like the feet. Some people like to animate the arms using FK and some using IK. Depending on the production, it's sometimes necessary to be able to cater for everybody. This can be done by either creating an FK set-up and also a different set-up using IK so the different people can choose the one that they feel most comfortable with.

Most people are comfortable using FK for the arms. But there are times when a character required to rest the hand on a table, or push off or grab an object. This is done better with IK. So it's necessary to be able to switch from FK to IK on the fly. This is where the IK/FK Switching comes into play.

   

Bones
Start with the bones for the arm that will be used for skinning.

shoulderREAL->elbowREAL->wristREAL

   

Duplicate Bones
Create the FK and the IK arms by duplicating the REAL bones.
(For visualization purposes the picture shows them one above the other, but they should all be shearing the same space)
Name them:
shoulderFK->elbowFK->wristFK
shoulderIK->elbowIK->wristIK

   

IK RP Solver Create an ikRPSolver from the shoulderIK to the wristIK.
Name it: ikHandleARM
Add a locator.
Name it: elbowAIM
And pole constrain it to the ikHandleARM.

   

Constraining the bones Constrain the orientation of shoulderREAL to both the shoulderFK and shoulderIK.
Do the same for elbowREAL.

   

Controller
Create a locator.
Name it: switchIKFK
Add an attribute called "armIKFK" with a range of 0 to 10.

   

Set Driven Key Select as your driver the locator switchIKFK.
As the driven, select the elbowREAL_orientConstraint1. (You can select it on your Hypergraph)
You'll have elbowIKW0 and elbowFKW1 as attributes.
Create a Set Driven Key with armIKFK set to 0 and elbowIKW0 set to 1 and elbowFKW1 to 0.
Create a Set Driven Key with armIKFK set to 10 and elbowIKW0 set to 0 and elbowFKW1 to 1.
Do the same for the shoulder.

   

Working with IK/FK Switch
As default, IK is on. You can move the IK arm and the REAL arm will follow. If you want to change to FK mode, simple select the locator switchIKFK and change armIKFK to 10. You can animate this over time for a smooth transition between IK and FK.

   

Download Maya file

Download tutorial