1

The short version is I have an IK setup on my rig. The legs work mostly okay, except for the knees. The knees will NOT bend to find a solution to the IK problem. The arms, set up in a similar way, will bend correctly at the elbows to find a solution.

If I lift the foot pad goal up slightly, the knees will NOT bend. However, if I change the constraints on the knees and allow them to bend backwards, they WILL do that to solve the problem. They won't bend in the correct direction.

I thought this might have something to do with the rotation of the bones, so I tried rolling them with no luck. I tried adjusting the position of the knee pole, but that didn't help either. I can't seem to figure out why the IK solver is so opposed to bending the knees to solve a problem. The issue happens on both legs.

I do have a small bend in the knees, so the related issue (Similar issue: IK-rig doesn't bend when I add elbow-target/elbow-pole) doesn't seem to apply. I can't share the .blend file yet, but I'm working on getting permission.

EDIT: I've tried every permutation of rolling the bones, changing the pole angle, and knee bend limit.

The Leg Setup:

Let Setup

Leg Setup with Axes Showing:

Leg Setup with Axes

Solution Not Found:

Solution Not Found

Visible Constraints in the Knee:

Constraints

Relaxed Constraints and the Bad Solution:

Relaxed Constraints

EDIT: Adding emphasis.

EDIT: Adding more images.

If I turn off the knee constraints, leaving only the pole bone, the hip twists backwards and the knee points away. That might seem like the pole rotation is wrong, so I tried reversing it... (See next picture.)

No Constraints

When I reverse the pole angle, the hip twists around 180 degrees to compensate. The knee STILL bends backwards, but points towards the pole.

Backwards Knee

  • Have you tried making the rest position of the knee joint ever so slightly bent forward? –  Jan 27 '15 at 19:31
  • Thanks for the quick reply. Yes, I have. My legs have a slight bend at the knee. – Joseph Catrambone Jan 27 '15 at 19:37
  • Too bad. Then I'll have to leave this for someone else to answer. One other question though, where did you try to upload your blend? http://pasteall.org/blend should work unless the file is too big (I'm not sure about the limit, but somewhere around 25-30 MB). –  Jan 27 '15 at 19:41
  • You shouldn't put limit rotation on your IK chain but rather control the knee with a pole bone: http://blender.stackexchange.com/questions/21379/how-to-ik-rig-legs/21385#21385 – Jaroslav Jerryno Novotny Jan 27 '15 at 19:47
  • @SixthOfFour I'm rigging it as a favor to a friend and want to get her permission before I upload it anywhere. – Joseph Catrambone Jan 27 '15 at 19:54
  • @Jerryno I have a pole bone, and the model is using that to determine the rotation of the hip and to orient the knee, but the knee still isn't bending. – Joseph Catrambone Jan 27 '15 at 19:55
  • I interpreted "permission" as upload permission on some server, but I realised after posting that you probably meant permission to let other people see it. Sorry for the confusion. –  Jan 27 '15 at 19:58
  • I see the red arc on the bone, the limit IK shouldn't be there, only the pole bone, that you have right. – Jaroslav Jerryno Novotny Jan 27 '15 at 20:43
  • @Jerryno I have the pole bone, but the pole bone only indicates the direction the bent knee should point; it doesn't determine which way the knee can bend. I've added two more pictures showing what happens if I remove the limit and move around the pole bone. (See http://i.imgur.com/jl4Vi8L.png and http://i.imgur.com/3E09zTX.png) – Joseph Catrambone Jan 27 '15 at 20:53
  • Remove all parents of the IK-bone and make sure the chain-length is set to the correct amount of bones(probably 2). – Humilton Jan 27 '15 at 20:57
  • Yep the chain length is wrong, needs to be 2. Your control bone is also wrong. Pls setup the chain like in the link I send you, there is also a link inside how to calculate correct pole angle. – Jaroslav Jerryno Novotny Jan 27 '15 at 20:59
  • Hi Naioai. Thanks for the response. I've removed the parents of the bones and set the chain length to two. Now only the knee bends -- not the hip. I think you've put me on the right track, though. I'm going to move the IK constraint from the foot bone to the shin bone and see if that improves things. – Joseph Catrambone Jan 27 '15 at 21:03
  • @Jerryno, Naioai: I moved the IK constraint from the foot bone to the shin bone and now the knee bends in the correct direction. It doesn't explain why an IK of length three from the foot can't find a good solution, but it's a workaround. I'm not sure if I should call this one solved because it isn't quite solved.

    The chain length of three was correct for an IK constraint on the foot. The chain length of two is correct for the IK constraint on the shin. As for why the three-length doesn't work, well... Perhaps some day we'll know.

    Thank you to everyone that commented.

    – Joseph Catrambone Jan 27 '15 at 21:11
  • May you provide an answer to the question about what exactly solved your problem. It's just so that future users can find an answer if they hit this question because of a similar problem... Thanks! – ruckus Jan 27 '15 at 21:17
  • @VinceScalia Good idea. I'll do that. Feels a little strange answering my own question. – Joseph Catrambone Jan 27 '15 at 21:26

1 Answers1

2

Thank you to everyone who responded. A synopsis of the workaround. (I say workaround because this isn't really a fix, but it's more than functional enough to unblock progress and move forward. A true fix would be figuring out why the IK solver isn't deducing a solution to chains of length three.)

The original IK configuration had the constraint placed on the FOOT bone with an IK chain of length three. The solution involved moving the IK constraint to the SHIN bone [one up] and decrementing the IK chain by one. Now the knee bends properly.

I speculate (again SPECULATE, I don't know if there is any basis here) that perhaps having the foot as the target of the IK chain meant that there were two bends [the knee and the angle] which were being used for determining the direction of the bend -- that is to say, instead of pointing the knee bend at the knee pole, it was trying to point the ankle at the pole and ignoring the knee, keeping that segment strait.

I'm very grateful to everyone who provided insight. Special kudos to Jerryno and Naioai for setting me on the right track.

  • If you get the permission to upload the blend, we might be able to give you more complete answers. Working with screenshots only is a bit difficult. Remember though that workarounds usually end up with more complex problems later on, and can be a real pain in the ass. Happy Blending =) – Humilton Jan 27 '15 at 22:32