Improvements for skin/muscle simulation, shrinkmap modifications and other stuff


I’ve been experimenting with the various options of accomplishing sliding skin over muscle in blender.

So far I’ve come up with the following theoretical options, however, they have some limitations making them impractical.

Shrinkwrap modifier
+ Possible to use one or several shrinkwrap modifiers sliding over one or several underlying muscle meshes, wich are in turn driven by a muscle armature rig (stretch-to constraints)
+ Possibility to add softbody/cloth simulation to the muscle meshes, for simulated jiggling of muscles
- No falloff control, making vertices jump over the place, tried adding a smooth modifier lower down but it smooths out all the details of the mesh, making shrinkwrap impractical (and no, vertex weigs alone isn’t really a solution to this, the vertices will pop won’t be behaving smoothly no matter what)

+ You could edit the mesh itself and use shapekeys driven by bone rotation to animate the sliding skin over muscle
- Could require several shapekey targets in different increments of the bone for convincing results, making it extremely time consuming on just one bodypart alone
- Will probably die from old age before you’re finished :slight_smile:
- Will have to come up with some other method for the jiggling in the muscles, since applying softbody/cloth directly on the skin of the mesh will just make it look like a shallow skin shell

Clothsim, with vertex group based pinning
EDIT: Turns out I need to test out cloth some more

Possible alternatives for the future

Improved shrinkwrap
Adding some way to “ease in” the transformation of the vertices would help, perhaps adding some sort of quadric falloff based on distance placed under user control.

Armature deformation along surface normals
This option is the one I like the most, it would probably be the simplest to use of these ideas.
The idea is to have a separate Armature deform modifier for a separate control rig on the mesh, in wich you can have it’s influenced vertices sliding along the surface normals, again with some kind of interpolated movement along the normals to avoid “snapping” or “popping” behaviour.
This second Armature deform would take place after the primary one, i.e. further down the modifier stack, and would move the vertices along the surface normals/vertices value taken from the first armature modifier.

Perhaps this becomes a cyclic dependency, but this dude managed to script it in Maya somehow, without using any existing muscle/skin simulation tools, the behaviour in this video is pretty much exactly the same I visualized for this idea:

Improving the cloth modifier
EDIT: Turns out I need to test out cloth some more

UV Deformers
The ability to add deformers that affect deformation of the UV grid and/or the actual texture map (including displacement map) would be one possiblity to achieve skin sliding.
Working on a per texture basis makes sense since then you’re only limited by the resolution of the texture map itself, this, if implemented well could possibly be ideal.

Spring bones
This isn’t directly related to skin sliding, but is related to muscle simulation.
When combined with the Armature deformation along surface normals it would be a killer combination.
The idea is to have physics springs similar to those that exists between vertices in the Cloth simulator, complete with stiffness and damping controls.
This is then applied on either the actual position of a single bone, or between the root and tip joint of the bone.
Combining this with stretch-to constraint and skin sliding you have the ultimate simple yet convincing muscle/skin simulator, not to mention fast performance.

Other ideas
Please fill in with other ideas that I haven’t thought of :slight_smile: