Seamless IK/FK Switching Tutorial

One of the most sought after feature on 3D character rigs yet so poorly documented is the IK/FK switch on a 3D rig. I have attempted to put together a brief yet comprehensive documentation on the fundamental concepts of building a seamless IK/FK switch within blender.

You must have 2 bone chains.

One chain must be FK based, and deform the mesh.

The second chain is an IK chain. The First chain is set to copy the rotation of the IK chain.

To switch from FK to IK, it is necessary to key the copy rotation constraints. In my example file, I have used a driven IPO channel on the constraint. It is nessessary to ensure that the IPO is not connected to the action. Just uncheck the little drowning man icon.http://1.bp.blogspot.com/_V2t3-Dt-JHY/SV7zRm9W_zI/AAAAAAAAAAM/MholJiYTCE4/s400/IPO+Setup.png

To animate it, animate the IK chain as you normally would, and when you are ready to switch to FK, key the visual location of the FK chain by pressing the “i” key. then slide the the copy rotation sliders to influence 0.00 and key them. Now, you may animate in FK. This process can be done over a single frame, or you can key the effect over time.

One of my favorite ways to animate an FK rig is via Targetless IK. It is an IK constraint on the end bone which does not have a target. Targetless IK is non-intrusive to a true FK setup. It is only enabled when you move the bone instead of rotating it, and is a very convenient addition to any FK setup.

Note: I take no credit for this IK/FK model. This is actually the “Big Buck Bunny” method.

To download my example file, click here. Press alt-a to play the animation, and to see the rig in action.

This is my first tutorial. Comments and critiques are welcome here.

thanks man! this little tut is very helpful.

I usually get so unpredictible results with IK, that i was about loosing hope to go on using it!
Thanks for your tut and your sample file!
It is still confusing yet (i just can’t test your file right now as i’m deep into a Blender process at the moment)… It seems one needs to work on one Armature with automatic IK activated and a Duplicate of that same Armature with auto IK unchecked… Is this right?

B.R.

almux

Nathanael,
I’m very impressed the way your Blender file works! Absolutely flabergasting!..
But… ;.( trying to analyse what you did and how i could use it is far above my poor comprehension.
The miracle of understanding didn’t happened to me. At my stage, it’s called: calcification…

Thanks for this. I’m just back from a few seminars (have to go back this week) and am keen to play with the possiblilities.

As far as “seamless” goes, you would have to match the positioning of the bones you are not using just prior to the IK / FK switch correct?

Or am I missing something? You said something about a “copy rotation” which I haven’t quite understood at this point.

Also, the bone “UpFK” seems to have an invalid IK constraint which should be deleted. Probably caused by you making IK first and copying the FK bones from there.

I am sorry it has taken me so long to get to your reponces. I will answer your questions as soon as I get a chance.

btw, the “invalid” Ik constraint is there for a reason. I refer to it in the tut as “targetless IK.” it is a useful way to animate an FK chain.

Copy rotation is a constraint which you can apply to a bone or object to copy the rotation coordinates of the target object. Rigging in blender is not a complicated process, there are only a few tools. The tools that are provided are so powerful that when used together anything is possible.

the link doesn’t work…
:confused:

:spin:___________________________

The links should be up now.

Thanks so much for this. I used driven IPO so everything works with the armature:)

Hi,
Can You reup? Or anyone who has download the blend? Iam curious about the setup.
Best regards.

i second Rangiz. i am working on seamless ik/fk switching myself even though i am planning a different method that yours.

I apologize for not getting to this sooner. I have re-uploaded the file.

Thanks very much.