the mesh collapes into itself at the inside of the elbow, in a quite ugly way. Even if you can evade this problem to some degree if you paint weights more carefully than I have done, this is a quite generic problem, not specific to MakeHuman or Blender.Now driven shape keys come to the rescue. The shape key BendElbowForward_L is not pretty; it looks like our character has a serious health problem.

However, this shape key is not seen when the arm is straight. Instead, it is connected to the rotation of the lower arm bone LoArm_L along its local X azis. The influence of the shape key varies linearly from 0.0 at 0 degrees to 1.0 at 90 degrees. Now when we bend the arm, the shape key cancels the collapse of the mesh, making the elbow deform much nicer. Perhaps the shape of the elbow is still not anatomically correct, but it looks a great deal better than before.As a bonus, I added a little biceps bulge to the BendElbowForward_L key, although it can barely be noticed. This illustrates a fundamental limitation of my approach. I have painted weights and shape keys on the base mesh, which means that the biceps of every character will bulge the same amount. However, the biceps should really bulge more on mr Macho than on Anna Anorectic. Eventually, deformation should be handled by the pose engine with more detailed knowledge of human anatomy; the skinning done by the exporter is only a quick-and-dirty solution. But we probably need to "bake" deformations to shape keys driven by bones before export, because that is what Blender (and other 3D packages) understand.
Good work!
ReplyDeleteAnyway, in my experience, a problem with shape keys is the scale of application. Have you tested the same key with a very fat, or very skinny, or child character?
Of course things look better the closer the character is to the base mesh.
ReplyDeleteI imagine that the pose engine will produce a much better result, working with physical simulation of muscles, tendons, etc. But such a simulation will be very heavy, and not so easy to export to Blender. Hopefully one can bake the pose engine data to shape keys before export, giving deformations individually taylored for each character.
It's not exactly a phisical simulation of muscles. The new pose engine will be more likely an improved shapekey system, where the keys have a feature for the "auto-fitting" to the character. You are not so distant with the method above.
ReplyDeleteBut don't bent arms have a bit of a collapse line from all that flesh surrounding the bones near the joint? I guess the bulging problem, once you get that figured out, might help solve that, I suppose.
ReplyDeleteAnyway, I'm really excited about the potential for muscular accuracy when you figure out how to make things bulge properly when you bend things. Keep up the awesome work, and by the way, I love the new blog and have been following it daily.