XM Magdalena 3D print, GGeorgy (3D)
LC #42 Pipers Alley

View Full Version : no flip ik leg

06-28-2011, 11:37 PM

I want to create a no flip ik leg but have no idea how to construct it. I know how to make an ik leg with a polevector.
I would be gratefull for an explanation or if somone knows a tutorail.


06-29-2011, 08:12 AM
May I ask what software you are using?

06-29-2011, 01:09 PM
oh sorry I didn't think of that, I have been trying to do it in Maya 2012.


06-30-2011, 02:25 AM
Basically what you need is:

- The Leg Joints
- Ik Handle
- Controller

So from here what you need to do is:

1. Select your foot control and add the attributes "Knee" and "Offset" via the Modify > Add Attribute function (default settings are fine, no need to add any minimum or maximum values)
2. Select your IK handle now and within it's attributes, set "Pole Vector X", "Pole Vector Y" and "Pole Vector Z" to "0".
3. Change "Pole Vector X" to a small value of "0.1" (or Pole Vector Z depending on the orientation of your joints) This will cause your joints to flip to a 90 degree angle
4. Counter this flip by inputting a value of "90" in the "Twist" attribute of your Ik Handle
5. Open up the Hypershade window and create a "Plus Minus Average" utility node, making sure its operation is "Sum"
6. Select your IK Handle and Foot Control and add it to the Hypershade via Graph > Add Selected Objects
7. Take the Foot Control and connect the "Knee" attribute you created earlier, into the Plus Minus Average node's "input1D[n] > [0]". Do the same with the "Offset" attribute but putting it into the "input1D[n] > [1]"
8. Connect "output1D" from the Plus Minus Average node and attach it onto the IK Handle's "Twist" attribute. This is will flip the joint chain by 90 degrees again.
9. Counter this flip by selecting your Foot Control and adding a value of "90" onto the "Offset" attribute.
10. Test out your no flip setup but inputting values into the "Knee" attribute

From there you can start doing a bit of clean such as locking and hiding the "Offset" attribute since it was only created for t he sole purpose of countering the second joint chain flip.

Hope this helps

06-30-2011, 09:55 AM
7. Take the Foot Control and connect the "Knee" attribute you created earlier, into the Plus Minus Average node's "input1D[n] > [0]". Do the same with the "Offset" attribute but putting it into the "input1D[n] > [1]"
Thanks for a nice tutorial I followed you descibtions works well until step seven. I just have the input1D[n] > [0] don't know why the other one is not there, is there something i have to turn on or so?

http://img560.imageshack.us/img560/2812/connectioneditor.jpg (http://imageshack.us/photo/my-images/560/connectioneditor.jpg/)

Uploaded with ImageShack.us (http://imageshack.us)

Cactus Dan
07-10-2011, 04:11 PM

The method I like to use is simply using an aim constraint on a parent object for the pole vector object.

In this tutorial of mine, at around the 54 minute mark, I show the setup:

... it's using Cinema 4D and my character rigging plugins, but the setup should also be able to be done the same way in Maya, or at least it was in Maya PLE (which is about equal to Maya 8.5). The aim constraint in Maya can have the World up type option set to "Object rotation up" to achieve the same result as my plugin's aim constraint's Align Up Vector option.

Cactus Dan

CGTalk Moderation
07-10-2011, 04:11 PM
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.