View Full Version : Looking for explanation of "Two joint knee" setup!?

12 December 2004, 01:21 PM

I heard of a two joint knee setup (used for bindind) that sounds quite interesting. I can't seem to find any info on the subject. Anybody have a link or a explanation?

Thanks a lot!

12 December 2004, 03:44 PM
I know theres a method whereby an extra joint is added nearer the front of the legmesh at the knee area (in front of the kneejoint you place in the leg and parented to that kneejoint - this helps stop some of the flexing but I'd use a driven key blendshape as that will allow you to get some nice edited deformation around the back of the thigh and the calve as well as the right look to your leg too :) Steven stahlberg has a good tutorial on this method :)

12 December 2004, 04:29 PM
The idea is to have two joints in a row, close together, where the single knee joint would normally be and each does half the rotation when you bend the limb. That way, there is a sort of short span on the outside of the knee that doesn't distort much (like on a real knee at the kneecap area) and there is some better deformation inside the knee (where the calf and thigh try to meet). This seems to work better for longer, thinner limbs. To rotate the lower part of the leg, you just grab both joints and rotate, watching what happens in the viewport. In effect this automatically distributes half the rotation to each joint. You probably don't want to rotate them seperately unless you are trying to animate a special, funny-looking, medical problem.
I say give it a shot, if it won't take you long to try in your rig. In longer legs, it can reduce weight painting if you are lucky. Of course the drawback is that you are adding complexity when you add a joint. If you have to adjust a lot of weights, now you have to do it for another two joints (if you set both legs up the same).

12 December 2004, 11:04 PM
Ohhh, that's what you guys are talking about... Where you have your normal two joint leg system (thigh and calf/shin bone), and then you add a second knee joint onto the existing knee. Then I usually make another knee joint to connect that to, going out where the patella/knee cap should be. Or sometimes I'll just use an influence object in a similar situation, that has a blend shape which will allow the back side of it to pinch together, and the front side to expand, whenever the knee bends backwards. This just helps the verts follow a more natural behavior of skin.

But anyways, yeah, just come up with an expression telling this second knee joint or influence, to always have a rotation value equal to half of the rotation value on the knee joint.

Otherwise, if you don't do this, the knee joint verts are either going to move with the lower leg bone, or the thigh, and in the middle, it's going to be an average of these two, and lose a little bit of volume. With this "second knee", as you're referring to it, this will allow the kneecap/elbow (I've found it works well there also), to appear to poke out a bit, as it naturally would, and not end up flattening out. Anyways, yeah, yeah, it's fun stuff.

Oh, and PS, I've actually found that this helps with paint weighting. Oddly enough, I've found the more skin influences I have, the easier it is to paint weights, as each area is controlled by something more specifically, so I don't have to spend a ton of time going in and tweaking on the transition areas and making sure it is a perfect blend of only two influences. Makes working easier and you don't have to tweak on those transition areas nearly as much.

12 December 2004, 08:32 AM
Hi Guys!

Thanks for all the input. Does anybody have a pic of jointplacement with this kinda setup?

12 December 2004, 09:45 AM
Yeah sure, I'm working on one right now, I'll snap a pic in a few minutes with the hypergraph panel as well, just let me find out how to upload a picture and whatnot.

12 December 2004, 10:30 AM
Ok, here it is. Just a little step-by-step kind of thing.

1. I created my stand in bones to fit inside my geometry, you don't have to do this, but I'll be using these to attach muscles to, plus they look kinda cool.
2. Create your joints to fit inside these bones. In addition to the regular knee joint in the center of the large cylinder at the bottom of the femur, I added a second joint at the top of the tibia, to provide a better pivot point for the knee cap/patella. This may not be necessary in your set up, but having it pivot from the knee joint caused some unwanted geometry intersections, so it was necessary with mine. After getting set up, I openned the attribute editor for this joint and turned off the degrees of freedom in all three axis' so that it wouldn't be able to move when I applied the IK solver.
(After this step my hypergraph goes (L_hip {at the top} -> L_Knee -> L_Knee_2 -> L_Ankle -> L_Ball -> L_Toe)
3. I duplicated the pivot joint for the kneecap twice, pulling the second one out towards the knee cap. You should have one joint in the exact same position as the L_Knee_2 joint, with the same orientation and everything (L_Patella_1), and the duplicate pulled straight out in the Y-axis (L_Patella_2). L_Patella_2 is then parented to L_Patella_1.
4. L_Patella_1 is then parented under the L_Knee_2 joint, so that it follows the leg when it moves.
5. I created an expression, "L_Patella_1.rotateZ = -(L_Knee.rotateZ * 0.5);" to make the kneecap rotate only half the value of the regular knee joint, so that it doesn't rotate completely with the lower or upper leg, providing for a more natural arc of movement, and representing the knee cap's natural movement.
6. I created an IK chain from the hip to the ankle.

Viola!!! Hope that helps.

12 December 2004, 02:16 PM

Thanks for the clear and comprehensive reply! I'll give it a go.


CGTalk Moderation
01 January 2006, 05:00 AM
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.