ik leg - pole vector ?

Hi,

Just playing around with the latest Blender alpha and have some problems with the IK. What I want to create is a IK leg that is controled through Empties. Please take a look a the picture.

http://www.bobtronic.de/files/misc/ik_leg.jpg

Here you can see how the leg looks like. I want the thigh and shin stay put with the plane that is described by the chain root, the knee empty and the foot empty. In other 3D apps this is called a pole vector chain, the knee empty being the pole vector. I have drawn in a blue plane so you can see what I mean. I want to be able to use knee as director of the thigh-shin-chain. How can I set up such a ik leg.

here is the Blender file, just in case :slight_smile:

http://www.bobtronic.de/files/misc/ik_leg.zip

thanks in advance

Bob

http://blender.isoserv.com/uploads/ik_leg2.blend

You’ll need to use v2.40 to use it though.

Also see the .blend below by Gabio to see how Action Constraints are applied:

http://web.netrevolution.com/gbeloin/elysiun/blend/Hand_action.blend

%<

thanks, I will check this out. do you know if blender has something like a dual target constrain? this very useful to avoid gimbal lock. also can I write my own constrains in Python?

cheers,
Bob

Just as an aside, the Blender docs say Blender doesn’t suffer from Gimbal Lock (with bones) because it uses Quaternions not Eulers for rotation.

thanks Andy, good to know. though a dual target constrain would be nice anyway not just to avoid gimbal lock. it’s an easy way to make upvectors.

Fligh, unfortunatly your scene does not work as expected. Thanks anyway for the help. I will try to make it work on my own, maybe I can come up with a nice solution.

cheers,
Bob

Hi Bob, thats no problem. As long as you have an IK solver on the leg you can always add another IK constraint to your thigh using your “Knee” as the target to control the leg like a pole vector, edited file below :slight_smile:

ik_leg.blend

/nozzy

thanks nozzy! there are still some problems with the leg. if you look at the knee joint it will not always point correctly to the knee emtpy, for example if you raise the foot. do you know if it is possible to write my own constrains in Python? or do I have to modify Blender’s source code? It would be nice to get that solved because I quite like Blenders animation tools. I usally use Cinema4D but its timeline/dopesheet is a nightmare.

cheers,
Bob

This is always a problem with pole vectors where they should be attached to the rig. I usally have it linked to the foot and oriented behind the knee.
It then usally keeps out of the way when your moving the leg around. But there always going to be situations where its going to bug-out, but with a few carefully placed keys will get you back on track :slight_smile:

As for contraining/scripting theres plenty of ways to do this, but my opinion is go for the simple solution. There seems always a tendency to go for the automatic/fixing solution which ends up being lots of work, and never how you thought it was going to be from the begining.

/nozzy

nah, you got me wrong :slight_smile: what I mean is that the knee joint does not always lie on the plane described by knee empty, chain root and foot empty. you can see this in the front view if you raise the foot a bit and shift it to the right. in Cinema it will work perfect. I think I will post some screenshots to show it better. thanks for help.

cheers,
Bob