Character doesn´t follow knee pole correctly

Hello, since a long time I have the identical problem: when lifting the foot of a character the knee bends inwards as to be seen in the images. Until now I didn´t find the correct way to avoid this. Any help?




Here´s the *.blend- file
RigProblem.blend (3.7 MB)

The main cause of that is that the IK is allowing rotation on more than one axis.

If you go to the Inverse Kinematics section in the properties for the lower leg bone (the one that has the IK constraint), and lock the Y and Z axes, then the rotation becomes more predictable.

image

You would also benefit from adujsting the positon of some of the bones in edit mode. Snapping the foot and arm IK controls to the ankle and wrist will prevent the popping of everything when you switch between edit and pose mode.

The lower back and pelvis bones should also meet up in edit mode. That way it won’t all jump when the Copy Location constraint moves the lower back.

You have a bone called Root in the pelvis area, which is the ultimate parent of everything. You would be better off duplicating that, and having a main root control on the floor at 0,0,0. Then the pelvis root, and IK controls can be parented to that bone. That will let you move the pelvis and keep the feet planted without it all moving together.

Thank You for Your proposals. Now it´s a bit better, but not ideal (see file), I tried to adjust some bones without significant effect. What about snapping IK- bones to wrist or ankle. Snap to what in which mode?
RigProblem1.blend (3.7 MB)

The aim is to have the bone move as little as possible when you switch between Edit and Pose mode.

You can use the 3D Cursor to assist with that.
Pressing Shift-S will bring up a menu, and you can use Cursor to Selected and Selection to Cursor to position the IK bones in the correct place.

That is the cause and your solution of locking down to rotation axis is correct. But at the same time, I don’t ever remember of having to do that in any rig I’ve made. I think if the leg bones were vertical, in the front view, the axis lock wouldn’t be needed

Notice how the leg has a pre-bend to it in edit mode. The pre-bend kinda tells the IK how it should work. This file has a pre-bend of the knees forward and inward both, hence why the IK is acting like that. Pre-bend on 2 axis = 2 DOF joint.

What really caught my eye about this was the spine/hips

The two highlighted bone roots needs to be at the same place, like they are connected, but not connected bones in blender. A good point for those two bones to meet would be where the pelvis and the base of the spine meet. Then get rid of the copy location constraint on the “Bauch” bone. As is, when in pose mode, that constraint is dislocating the spine, moving it forward and down from where it should be.

Just my thoughts…

Randy

1 Like

Here´s my next (hopefully enhanced) version. I appreciate the comment from revolt_randy, but I got the skeleton mesh “as it is” and had to arrange the armature according to the anatomical situation When You wonder about the pelvic situation: this is from https://www.youtube.com/watch?v=jFOERj1y7-Q&t=1552s by the AgenzasBrothes, now CGBoost. Would some of my helpers be so kind and demonstrate the “right way”?
RigProblem2.blend (3.7 MB)

I moved the junction of those two bones - Bauch & Becken - to the top of the pelvis, where the spine connects. Bent the character at an extreme angle. Before & After:


And I removed the copy location constraint.
RigProblem2.blend (3.7 MB)

Randy

Sorry for the late answer! I don´t want to be hypercritical but I can´t see a significant change regarding the knee problem. I made a RigProblem3.blend with the restored ability to move the pelvis.
RigProblem3.blend (3.4 MB)

Don’t worry about being critical. Better to voice opinions, as long as it’s done in the right manner, than to say nothing at all. A closed mouth doesn’t get fed…

So here’s your problem with the knee…

You locked down the rotation of the controller bone, which has no effect at all. The inverse kinematics panel where those locks are only affect bones in the IK chain. Since the foot controller isn’t part of the IK chain, those locks have no effect. Instead, you need to

Like so

That will lock down the lower leg so it can only bend on 1 axis. There were a few more things I noticed…

First, the knee pole targets need to be move further forward in edit mode. As is, if you pick the foot controller upwards, the leg bends and the knee moves into the pole target. The pole target always wants to be further away from the joint. If the pole target is behind the knee, the IK might cause the leg to flip around backwards.

The pole targets on the arms is in the wrong location, they need to be moved to behind the character. The pole target is where you want to joint to point. So knee target needs to be in front of the knee, elbow target needs to be behind the character, since the arms bend backwards. As is, if you grab the hand controller and move it upwards, then grab the pole target and move it to the left, the elbow points to the right. Moving the targets behind the character might require you to adjust the pole angle in the constraint.

Also noticed that if you select the foot controller and in the front view you rotate it around the world’s y-axis, the foot bone acts funny. It’s not right, but I didn’t look into that problem. I have my own projects to work on and I think I have given you enough stuff to look at and fix.

So why didn’t you just use an auto-rigging system, like rigify, to do this?

Randy

Thank You again for Your detailed answer. I corrected the lock on the controller bone, which was nonsense. Putting the kneepoles farther away was not very effective. In the end I got a for me satisfying result by scaling the kneepoles in the x- direction. And of course I corrected the wrong position of the armpoles. Now with Your help I´m rather happy (for the moment)
RigProblem4.blend (3.4 MB)

Sorry not to get back to you…

Nope, it’s still there:

And the lower leg is still free to rotate in 3 axis because it’s rotations aren’t locked:

Normally, pole targets aren’t scaled, they are just moved in the direction you want the joint to point at.

Randy

Thank You again! Now I think it´s like I wanted the rig to work. When I mentioned the “scaling” of the knee poles, I meant scaling these in the x-axis in edit mode. And why not rigify? I´ll give it a try.
RigProblem5.blend (3.4 MB)

That’s looking really good! I checked out the animation, and the rig seems to be working well! One last thing that you probably will want to do is lock down the forearm rotation like you did for the lower leg. So it can only rotate on 1 axis.

If you’ve looked up rigify, you’ve seen that it is an auto-rigging system and could have made you a rig for this faster than rigging it yourself. The more I think about it, the more I think it would be overkill for something like this. The rig would have more features than you would probably need. I personally have never used it, but I have played with it.

Randy