I’m not really that familiar with the code yet (only really looked at modifiers), certainly not enough to be comfortable taking a contract (also I have a full time job, so yeah not likely). It is something I do mean to try and contribute to in my own time at some point though.
I agree that it is a big thing missing in blender as far as advanced skinning goes.
There are potentially a lot of different things that could be done here though. Apart from my procrastination, one of the other things that has stopped me from diving into this is the variety of approaches to this.
One thing that would be useful here though is to collect a bit of feedback and design around exactly what would be useful in this area, since there is a whole range of different approaches that could be useful. I’m happy to curate/collect whatever proposals people are willing to put forward.
Things that would be useful for anyone who does end up looking at this would be:
- papers on volumetric skinning / muscle deformation / collision mechanics (I have a few saved)
- workflow descriptions etc (how would you go about creating and setting it up, what aspects are particularly important to have artistic control over, etc). If its a workflow in another application, youtube videos would be great, as obviously not everyone will have access to the application.
- break down into simpler components / features that would be useful (e.g. modifier that binds an arbitrary muscle mesh to a skin mesh with params to control sliding etc. Modifier for volume preserving collision (or even self collision), better softbody etc).
For example something like: http://cg.skeelogy.com/research/simplified-muscle-dynamics.php discusses how to enhance skeletal deformation with meshes to drive more complex deformation (would basically be a muscle to skin bind without skin sliding, and may provide a good starting point for more complex features). This would probably not be that hard to implement from a technical point of view as an extension to the armature modifier, but there are some interesting considerations around workflow and combining it with the armature modifier (i.e. how do you specify all the muscles + vertex groups to solve for in the armature modifier). Alternatively you could not combine this with the armature modifier and have separate modifiers which would provide more flexibility, but may make things fairly fiddly to manage.