View Full Version : 3 Bone IK/FK switching - qns on screen updates, moving the ik handle and more qs!

03-23-2006, 01:27 PM
Hey all!
I am testing out a 3-bone IK/FK switching rig for the arms (I have attached the Max files and callback script for maxers), and I'm wondering how you guys handle these issues:

1. When the animator makes the switch from FK to IK (or IK to FK), the animator is not supposed (well at least IMO!) to move the IK handle at the frame the switch is made, but if the animator does, the animation will jump between frames. How do you guys solve this? Check the frame to see if it is the frame that makes the fk/ik switch and freeze the position so it cannot be moved?

2. When I swap between IK and FK modes, I have a call back script that determines the current mode of the rig (ik or fk) and updates the scene's control objects automatically. I.e. when I press the play button, if the rig is in FK mode, only fk objects appear, when it is the IK section, it only shows the IK controls. Question is, should this be the way, i.e. via a callback function or is there a better (less cpu intensive) way to do it?

3. I'm not a rigger - still learning, so please do understand if my scripts and stuff suck bad!

For max users: The file I've attached has a 3 bone setup, and is already in FK mode. Please grab and rotate the handles, animate etc. The point helper with the text sign has two buttons, for switching between FK->IK and vice versa. Just click the buttons to setup the jump. Run the attached maxscript (it is a callback script) to see the fk / ik controllers appear and dissapear as you scrub the time line. The final max file is the custom attribute definition, once again, sorry for the horrible code inside!

Thanks in advance!


03-23-2006, 04:37 PM
I did the exact same system - and had the exact same issues. When i do the switch i do a swap out/align, i even switch the controls all in two frames. I dont use a callback, i have a button "fk/ik" thats it. It does all the work. But i had problems tweaking the keys afterwards i.e the blend times, etc etc.

And yes the first frame 'pop' issue, caused me major headaches. You could lock out that key or something?

Yes your using viewport callback to check a text shape button, i didnt do this because, of multiple characters merging in etc. Mine was all inside a CA.

03-23-2006, 05:04 PM
Personaly I think that you are way over complicating it all. I have played with this sort of set up as well and just don't think that it is nessesary. It is cool but you have seen the issues that you have to deal with. I just to an IK/FK blend, I find that this works really well and is simple to set up and manage. I also have an IK to Fk and and FK to IK so that the user can match one to the other.

03-24-2006, 12:21 PM
eek, PEN, thanks for the advice! I will try out a blend then.


03-28-2006, 02:05 PM
Yeah Blending is the way to go. Much easier to control the animation that way.

For the controls, I like using shadows, one for FK, one for IK (with the actual bones being hidden). You could link the transparency to the FK/IK slider, but for some animation techniques, it's good to see both shadows at the same time.

03-28-2006, 03:19 PM
What do you mean by shadows? Do you mean linking to the visibility track?


03-28-2006, 04:31 PM
Shadows are lines describing either the IK or FK solution.
Download the RiggingPRO (http://3dquakers1.com/webroot5/index.php) demo to get an idea.

03-28-2006, 06:03 PM
Basically a ghosted version of each control rig either fk or ik, be it lines, splines or any manner of puppet control. So When you blend between each theres some reference to where you blended from basically.

03-29-2006, 03:44 PM
i agree with paul on this. in addition i'd say that locking the ik control is not a solution. you'd have to lock anything that can affect the ik arm as well if you go down that route (shoulder, upper body) i'd rather provide a way to fix the blend after the ik or fk pose has been changed in some way.

i think there are two major problems in dealing with a regular ik/fk switch..

1. after keying the blend, how do adjust the timing afterwards. this is a problem because you need to move keys on all objects involved in the blend/snap, if you don't do it stuff will break and it may be hard to fix, especially for the animator who doesn't want to deal with these technicalities.... i haven't really found an intuitive way to deal with this yet, maybe a button on the custom attribute to select all involved controls.

2. if you've keyed the blend and adjust, say the upper body afterwards, the arms will pop on the blend, because the two chains will not be aligned anymore. jason schleifer has a tool that fixes these blend keys (he aligns the fk chain to the ik chain on those keys)

i have another solution for this:

let's say we have a blend from ik to fk and it pops because we've made changes to the upper body. if you have a blend slider, and ik/fk snapping you can fix these keys by blending back to ik on this frame (i mean using the slider), then snap back to fk... the blend is fixed.

i think this is pretty intuitive for animator because it doesn't introduce an external tool (though with max's custom attributes it wouldn't have to be as external as in maya ;) )

the main thing in my opinion is to keep it transparent for the animator. if something goes with the callback things you tried the guy or girl will probably have no idea or understanding of what's happening.

04-01-2006, 05:18 AM
Hey all,
3D quakers, eek, thanks for the advice! The lines are indeed an excellent guide. And 3d quakers, very nice rig!

CGTalk Moderation
04-01-2006, 05:18 AM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.