Summary: We create two extra joint chains (IK and FK) to constraint the original joints with both of them. A boolean attribute is used to turn on and off either of the input constraints IK or FK. In more details: - Duplicate your arm joints (excluding hand's bones) into two additional hierarchies post-fixed "IK" and "FK" respectively. ( You now have 3 sets of joint hierarchies representing the arm ex: armleft, armleftIK, armleftFK. ) - Create IK and FK control shapes (circle for KF, cube target for IK) - Setup IK constraint and pull vector to the IK joints. - Attach controls to corresponding hierarchy (FK -> ex: orient constraint) (IK -> ex parent constraint) - create a control parented to the wrist that will hold the IK/FK switch attribute - add custom attribute to switch between IK/FK to said control. - Orient constraint each joint of the original chain to both IK and FK joints. (In other words, the result of spherical interpolation between IK and FK joints is assigned to the original joints; original joint orient = slerp(orientIK, orientFK) - You now have orient constraints with 2 inputs (IK and FK joints) constraining the original bones. Connect the wrist's boolean attribute to each orient constraint, so that, it turns on and off either IK input or FK input. (there is a built in attribute to turn on or off each input) - connect visibility attributes of the controls and joint chains to appropriately show or hide them in correspondance to the IK/FK mode.
OMG you dont know how much you save my life right now im chasing on deadlines and i cant seem to fix the ik and fk switch until i found your video i wish you nothing but the best in life
Thank you for detailed information how to create switch in Maya. I'm a former user of Softimage XSI. It amused me how many operations one has to perform to create such a switch in Maya. It's much more labor-intensive in Maya. I'm surprised that Autodesk doesn't do anything to replicate or learn from these things in Softimage XSI.
Hey man, very well done video. I despise rigging, but this helped really simplify the process of these switches. Also, I just saw that you went to MSU. Funny, I'm there right now, and working on my thesis, and needed this video specifically for it hah
@@stanabraham2618 Sadly, I will be graduating soon, and I don't believe I have the time to finish what I originally wanted to do (Animated teaser trailer), so I've shifted to a 3D character portfolio. That being said, your thesis film is rad as Hell, and I think about it every now and then. I think I still want to do mine after I graduate, I just am far too busy at the moment to dedicate full time to it. That being said, your stuff is def inspiring, and I hope you're doing well!
Back in college I had an animation instructor that was SUPER concerned with making sure the control curves were properly oriented over whatever joint they were parented to (pointing straight down the chain perfectly) and had this 3 step process involving parenting and then un parenting. I can't remember EXACTLY how he did it though...it's been several years and it's a bit fuzzy now since I pretty much immediately switched to toys instead of animation.
I could have been your instructor XD (not really), but I too prefer the controls matching the orientation of the joints. It makes life easier. 1. Change Translation and Orientation to Object (Hold W + Left Click) 2. V snap the control to the joint. 3. Parent the control to the joint. 4. Set the control's orientations to 0. 5. Freeze the control's transforms. For a much cleaner result, you can place the control into a group (CTRL G), V snap the group to the joint, parent the group, set both the group and the control's orientations to 0. Unparent the group. Freeze transforms of the control. The benefit of this is you can then parent the group back to whatever without messing up the relative transforms of the group. Sometimes this is necessary/preferred.
Hello! This tutorial was super helpful. I followed all of your steps and I was able to get it working for one side. However, as soon as I tried to do the same steps to the other side, I started getting weird rotation issues once I parented the joints together. Am I missing something? Is this maybe a joint rotation issue?
What is the tool setting for the orient constrain when you are linking all the wrists together, elbows together, and arms together? Even after I do the constrain, when I move either my FK or IK arms, the other ones don't move and are not highlighted in pink.
at 5:55 when you select the controller and bone and orient them and they get a 'tick', the rotation of the bone for me changes, some by 360 degrees. Why does this happen? I reded the FK again and made sure to freeze transformations on the controllers and bones but it still happens. I may have missed something.
Hi, how are you my friend. I have a really weird problem that is really annoying: After doing the ik Handle, when I move the ik I created from the shoulder to the hand up or down the elbow stops being flexed and suddenly aligns with the arm. What should I do to fix that problem?, is it normal to happen?.
I have a question while creating the IK,FK and main bones should we create it straight or bend it slightly on the elbow? Also I have noticed in this tutorial that whenever you switch from IK to FK and vice versa the wrist rotates slightly can you tell how to fix that?
Bend it slightly in the direction the elbow should bend, so that the IK knows which way it wants to go! I believe I may have not had the wrist control for the FK and for the initialized to 0, so there's a subtle error when I switch them.
I just started learning how to rig. Can someone explain the reason for why it’s necessary to create duplicates of the joints to create the fk and ik controls, instead of creating/having the controls directly on the original skeleton
There should be a simpler process by now, but basically Maya doesnt let you have an IK and FK on a joint at the same time. So instead you make two duplicates that control the original, and make a switch to transfer between one and the other.
Summary:
We create two extra joint chains (IK and FK) to constraint the original joints with both of them. A boolean attribute is used to turn on and off either of the input constraints IK or FK.
In more details:
- Duplicate your arm joints (excluding hand's bones) into two additional hierarchies post-fixed "IK" and "FK" respectively.
( You now have 3 sets of joint hierarchies representing the arm ex: armleft, armleftIK, armleftFK. )
- Create IK and FK control shapes (circle for KF, cube target for IK)
- Setup IK constraint and pull vector to the IK joints.
- Attach controls to corresponding hierarchy (FK -> ex: orient constraint) (IK -> ex parent constraint)
- create a control parented to the wrist that will hold the IK/FK switch attribute
- add custom attribute to switch between IK/FK to said control.
- Orient constraint each joint of the original chain to both IK and FK joints.
(In other words, the result of spherical interpolation between IK and FK joints is assigned to the original joints;
original joint orient = slerp(orientIK, orientFK)
- You now have orient constraints with 2 inputs (IK and FK joints) constraining the original bones.
Connect the wrist's boolean attribute to each orient constraint, so that, it turns on and off either IK input or FK input.
(there is a built in attribute to turn on or off each input)
- connect visibility attributes of the controls and joint chains to appropriately show or hide them in correspondance to the IK/FK mode.
OMG you dont know how much you save my life right now im chasing on deadlines and i cant seem to fix the ik and fk switch until i found your video i wish you nothing but the best in life
tomorrow is my maya exam on rigging and you save me. thank you
Thank you for detailed information how to create switch in Maya. I'm a former user of Softimage XSI. It amused me how many operations one has to perform to create such a switch in Maya. It's much more labor-intensive in Maya. I'm surprised that Autodesk doesn't do anything to replicate or learn from these things in Softimage XSI.
brother you don't know how much this helped me.... thank you so much !!!!!!!!!!
HOLY, no one explains fk/ik switches better than you! Litterally
Hey man, very well done video. I despise rigging, but this helped really simplify the process of these switches. Also, I just saw that you went to MSU. Funny, I'm there right now, and working on my thesis, and needed this video specifically for it hah
Ha, glad to hear you're making your own thesis as well! Rigging was always the most complicated part.
@@stanabraham2618 Sadly, I will be graduating soon, and I don't believe I have the time to finish what I originally wanted to do (Animated teaser trailer), so I've shifted to a 3D character portfolio. That being said, your thesis film is rad as Hell, and I think about it every now and then. I think I still want to do mine after I graduate, I just am far too busy at the moment to dedicate full time to it.
That being said, your stuff is def inspiring, and I hope you're doing well!
Back in college I had an animation instructor that was SUPER concerned with making sure the control curves were properly oriented over whatever joint they were parented to (pointing straight down the chain perfectly) and had this 3 step process involving parenting and then un parenting. I can't remember EXACTLY how he did it though...it's been several years and it's a bit fuzzy now since I pretty much immediately switched to toys instead of animation.
I could have been your instructor XD (not really), but I too prefer the controls matching the orientation of the joints. It makes life easier.
1. Change Translation and Orientation to Object (Hold W + Left Click)
2. V snap the control to the joint.
3. Parent the control to the joint.
4. Set the control's orientations to 0.
5. Freeze the control's transforms.
For a much cleaner result, you can place the control into a group (CTRL G), V snap the group to the joint, parent the group, set both the group and the control's orientations to 0. Unparent the group. Freeze transforms of the control. The benefit of this is you can then parent the group back to whatever without messing up the relative transforms of the group. Sometimes this is necessary/preferred.
hey the tutorial is super good however I wanna know that does it match IK to FF while animating in different position?
Love it man ❤ you save me from my teacher 😅
Hello! This tutorial was super helpful. I followed all of your steps and I was able to get it working for one side. However, as soon as I tried to do the same steps to the other side, I started getting weird rotation issues once I parented the joints together. Am I missing something? Is this maybe a joint rotation issue?
I am currently having this issue too, do you know how to fix it?
10/10 video
YT needs to add additional Likes buttons, just for this video -
why you don't create an offset group for your controllers?
What is the tool setting for the orient constrain when you are linking all the wrists together, elbows together, and arms together? Even after I do the constrain, when I move either my FK or IK arms, the other ones don't move and are not highlighted in pink.
Nevermind, I think my maintain offset was off and that was my issue.
@@sopapillakatnip911 every single time it's a new Maya installation with this box not ticked^^
@@ericapunkt7956 Thanks for the heads up! I've been sure to check it every time just to be careful now.
at 5:55 when you select the controller and bone and orient them and they get a 'tick', the rotation of the bone for me changes, some by 360 degrees. Why does this happen? I reded the FK again and made sure to freeze transformations on the controllers and bones but it still happens. I may have missed something.
Hi, how are you my friend. I have a really weird problem that is really annoying: After doing the ik Handle, when I move the ik I created from the shoulder to the hand up or down the elbow stops being flexed and suddenly aligns with the arm. What should I do to fix that problem?, is it normal to happen?.
is there a way to use an enum instead of a boolean? or would this method not work because of the connection editor?
how did he get rid of that finger main joints
happy pride month!!
Great video thank you!! ^^
How did you get the cube?
THANK YOU 🙏
I have a question while creating the IK,FK and main bones should we create it straight or bend it slightly on the elbow? Also I have noticed in this tutorial that whenever you switch from IK to FK and vice versa the wrist rotates slightly can you tell how to fix that?
Bend it slightly in the direction the elbow should bend, so that the IK knows which way it wants to go!
I believe I may have not had the wrist control for the FK and for the initialized to 0, so there's a subtle error when I switch them.
I just started learning how to rig. Can someone explain the reason for why it’s necessary to create duplicates of the joints to create the fk and ik controls, instead of creating/having the controls directly on the original skeleton
There should be a simpler process by now, but basically Maya doesnt let you have an IK and FK on a joint at the same time.
So instead you make two duplicates that control the original, and make a switch to transfer between one and the other.
Damm yes, Thank you
will they match while switch fk to ik
someone can send me the link for BScontrols ?