Note: Skin shader breakdown starts @ post #27
Based on the work I’ve done rigging human figures for naturalistic posing & animation, I’m now working toward a full muscle simulation. I’ve seen this done a number of times so I’m not really breaking new ground except that this uses my already-tested rig with few adjustments. This has greatly simplified the first development stages:
Since I already have in place Constraint-driven helpers to deform a skin mesh to imitate muscle action, it hasn’t been a major task to apply the same principles to a modeled muscle layer. So far I’ve mostly been trouble-shooting the skin-wrapping methods, but I’ve gotten good results with early tests of the shoulder and biceps region:
Some of the shoulder controls in the rig
Early modeling of the shoulder & bicep region
Since the vertices of both the muscle layer volumes and the skin layer are being driven by the Armature, the problem of he skin “sliding” too much over the muscle layer is greatly lessened.
My next step is to divide the muscle layer into 5 segments (extremities and trunk) to solve the problem of having the skin “wrap” to the wrong muscle when the surfaces are closely adjacent, such as in the armpit. Each segment will be a separate target for multiple Shrinkwrap modifiers on the skin mesh. I also want to use this to add detailing to the hands and feet. The face is already under a separate armature that use muscle motion as its design basis.
One chief benefits so far has been a quantitative and qualitative leap in muscle form and definition, without increasing the base mesh density at all. Since I use 2 levels of Subsurf when rendering (and sometimes 3), there’s really no penalty in using these as a way to help implement the Shrinkwrap effectively. By placing one Subsurf before and one after Shrinkwrap on the modifier stack, I can eliminate a great deal of the “gap stretch-marks” that this technique can generate. I’ll of course be testing it under much heavier deformation & animation scenarios as well.