I've seen too many people making this mistake, so I finally decided to illustrate it so I can just reference this gif whenever I need to.
Feel free to do the same whenever you see someone doing this. Much easier to post the link than to explain it every time.
Replies
For game models, it looks fine.
oh and what about thighs that swing back and forward?
The gif example is actually just very badly build (sorry poop ).
You need to build it like a 'X' but with the side that gets compressed more a bit bigger. It also needs ~10% weight on the vertexes on opposide side of the bone (not like the third example where the lower vertexes arn't moved by the upper bone movement at all). This way you can simulate the skin shifting over the bones, and avoid a lot of the deformation.
Last but not least: a bit of deformation is good, since it gives the mesh a dynamic look, not like the first two examples where it is completely stiff. It depends on the material of course, but it looks very bad with skin.
Awsome job. Maybe a character rigging tutorial next?...
JKMakowka: could you care to post a scribble/drawing for your setup, i'm really interested on the X shape that you proposed coz right know skinning can give so me much headache, especially on pelvic area
CheapAlert, actually most of the knees and elbows in Half Life were built like the middle one in poop's gif. Except the middle vertices(which are nearest to the axis of rotation of the limb) were welded together making the joint look like an X. And of course the sections were 4 or so many-sided instead of circular edge loops.
This is a quick hacked up picture, not actually done with bones, but simulated the same effect with mesh rotation (Wings3d doesn't have animation support yet, and I was too lazy to install Blender just for this), But I think it illustrates my point, and the setup is much better in my opinion. For extreme movements it still intersects, but for the normal range it works just fine.
now i can get a better deformation for my character, this is really-really helpfull for noob like me
Link a bone to the parent of the joint and wire it to rotate at 50% the rotation of the forearm/calf. Then skin your joint verts to the helper bone and they will neither collapse nor intersect.
*Saves pictures*