View Full Version : seamless ik/fk switch
08-14-2010, 05:46 PM
I have been trying to figure out how to do a seamless IK/FK switch. I found this video from Sean Nolan (thank you for this if you read this forum) but I am having trouble with it. It may be a version issue, but I really don't know. I am using maya 2010 to do this.
My trouble is that I get everything to stay in place but the elbow. Anyone have any suggestions.
Also, if anyone knows of any other seamless ik/fk tutorials, I would love to try them out. Just seeing which one I like best, and Seans is number 1 for right now. Thank you all for your time.
08-24-2010, 05:06 PM
I see it. but i can not do it .i am sorry;
08-26-2010, 03:22 PM
I'm just going to list down the method I use to create an FK/IK switch, I don't know if it is more or less the same as Nolan's video but I hope it helps.
So let's use an arm as the example for this short tutorial, so you have the shoulder, elbow and wrist joints set up right? Make sure you orient your joints prior to doing anything else, and you can orient the very last joint in a chain to the same as the parent by select the None option when you orient
You set your joints as XYZ orientation with the secondary orientation as +Y. This will orient all the joints except the very last joint in a chain. So click that last joint and change it to None but keep the +Y secondary orientation. This will make the very last joint share the same orientation as the previous joint.
Okay so you have all the joints placed in the right spot and now orientated.
1. Duplicate your arm chain from the shoulder twice.
2. Rename one of the chains with the suffix "FK" and the other "IK"
3. Create a controller and zero out its transformations on the wrist joint.
4. Setup an IK handle onto the joint chain with the suffix "IK", you may want to hide the original and FK chain temporarily to make this easier.
5. Select your controller and give it a new attribute "Ik Fk", giving it a minimum value of 0, maximum of 10 and the default set to 0.
Now it's time to setup the switch.
6. In the hierarchy or outliner, remembering the rule of "Driver then driven" select the FK shoulder joint and then the original's Shoulder joint and go the Constrain > Orient, making sure you reset the settings before you do
7. Select the IK Shoulder joint and then the original's Shoulder joint and give it an Orient Constraint, when you click ont he orient constraint in the hierarchy/outliner there should be two types of weights listed FK and IK.
8. Repeat steps 6 and 7 for the rest of the joint chain (i.e. Elbow and Wrist)
Now that all the joints are orientated, you have to connect these motion to a controller, hence we will use set driven keys to drive the switch.
9. Open the Set Driven Key window going to Animate > Set Driven Key > Set
10. Put the arm controller as the Driver and select the constraint of the shoulder as the driven.
11. Pick the attributes "Ik Fk" in the Driver window and both the FK and IK weights on the Driven window
We're going to associate 100% FK Weight to 10 and 100% IK Weight to 0
12. On the arm controller make sure that the Ik Fk attribute is set to 0 and go back to the orient constrain and set the FK weight to "0" and leave the IK weight to "1" and click set.
13. Now going back to the arm set the Ik Fk attribute to 10 and go back to the orient constrain and reverse the values so that the FK weight is "1" and IK is "0" and click set.
This now switches between IK and FK as you give the Ik Fk attribute values between 0 and 10
14. Repeat steps 12 to 13 for the elbow and wrist
If you've done it correctly you can test it out setting the Ik Fk back to "0" if it isn't already and then select any of the FK joints and rotate it out to any direction away from the IK chain and then start giving the Ik Fk attribute on the controller some values and see if the arm start to merge towards the direction of the FK chain.
Now all that's left is giving the FK Joints controllers so you don't have to rotate FK joint with the joints which would be bad anyway.
Really hope that helps and if you have any problems please let me know.
08-28-2010, 06:06 AM
Oh that new member post delay, gave me the post count to post normally but didn't add the post until now.
08-28-2010, 06:06 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.
vBulletin v3.0.5, Copyright ©2000-2013, Jelsoft Enterprises Ltd.