Home Artists Posts Import Register

Content

What's up y'all! In between working on teatime, upcoming smaller animations, and a couple of commissions, I've been playing around with muscle systems, finally! For those of you wondering when the next animation is coming out, don't worry, there are a couple rendered and ready to go, just a little bit stuck in the sound phase of production. A warning on this one if the title image didn't tip you off, it's all anatomy all the way down, so we've got a lot of muscles and bones, and not a lot of skin!

Muscle systems have been pretty standard practice in the animation and VFX industry for the last couple of decades, but they're often very resource-intensive both in terms of artist and technician hours, and simulation hardware usage. That's not a problem for projects with a considerable budget, but for hobbyists and independent artists they're almost always prohibitively expensive and/or time consuming. The only option in blender is to use an addon called X-Muscle System - and, well, there's a reason there aren't any notable examples of artists using it in real projects. Having tried it out and pulled it apart, I can't really recommend using it, since it doesn't make the problem much less complex, and doesn't contain any particularly powerful scripts or anything like that.

My goal with these experiments is to find a way to actually simplify standard muscle system practices enough that the technique can be meaningfully brought within the reach of an independant artist with severely limited time and budget. A muscle system consists of three parts: the musculature itself, the muscle simulation, and the skin binding. I'm also stipulating that the resulting system must be totally compatible with my existing models, and rigify as a whole.

So far, I've found pretty promising results for the first two parts. Unfortunately, skin binding is by far the most complex part, but I have some ideas! the aforementioned X-Muscle system addon uses a combination of hooks and shrinkwrap, but this is quite limited, as it can't account for inter-tissue sliding or other complex deformations, which are very important to actually get the benefits of a muscle system. The idea I have in mind is using multiple deform modifiers like surface deform, laplacian, shrinkwrap etc, and then mixing their influences with wieght groups.

The first task was to simplify the human musculature enough that it won't take two straight months to model it for one character. The first thing I did was identify which areas of the body a muscle system is most important for: knees, elbows and wrists are still complicated, but the way they deform is governed by a more linear process, so they can be handled by just the armature and shape key process. The areas I wanted to really focus on were the inner thigh, the shoulderblades, and the stomach, since these are the areas of my current model that most often go wrong. To do this I made heavy use of the Z-anatomy human atlas blender project: an amazing boon for all sorts of artists and medical practitioners!

This is a good example of how ruthlessly I've simplified the anatomy. The thigh alone consists of something like 20-25 individual muscles, all with different attachment points, behaviours and inter-relations: in my model, there are three distinct masses of muscle. Of course, this leads to a loss of fidelity, but the most important problems are solved: the relationship between the main mass of the thigh, the abductor muscle connected to the pelvic crest, and the gluteus that slides independently as the hip swings forward. This is where I started, since I see it as the most important part of this technique - armatures are absolutely horrible at correctly handling the deformation of the hips and especially crotch. That's pretty important for what we do here.

In all, I've taken the roughly 650 muscles and 200 bones of the real human body, cut parts off, grouped things together and re-arranged some items until we're left with just 18 masses of muscle. The bones I will also simplify at a later date, as they are only necessary when the skin sits very closely on top. All of the detail I've smoothed out like abs, or serratus, or the thigh muscles will get added back in by the skin mesh, since they're already sculpted in there. Might as well use 'em.

Next up is the simulation and rigging. Using a traditionally configured armature deform system would completely defeat the point, as what we need from the muscles is how they stretch and compress between their attachment points, how they conserve their volume and slide over one another. For this reason, most muscle systems just throw a soft body simulation at the problem. There are two issues with this: first, blender's soft body simulator is terrible, and second, any simulations added to a workflow massively slow things down and make the process far less stable. Instead, I've done this:

using a completely differently constructed armature that's bound to the main armature, each muscle can be controlled by an armature bone or two, and those can then be constrained back to the original skeleton. This is somewhat similar to the "helper bone" technique in conventional rigging, but of course we've added some extra steps. The real breakthrough here was using the "limit distance" constraint to prevent key muscles from clipping through each other, thus crudely simulating the collisions you'd get from a soft body simulation, without the actual simulation. simulating a simulation. woah.

The other big advantage of this method is it's still totally compatible with simulations - this method uses a proxy mesh to simulate breasts, and if we model major fat deposits like the breasts into our anatomical model, we can later apply physics to them just the way we like, and it should all just work!

And for now, that's pretty much it! I hope you all enjoyed this pretty technical - and perhaps overly long - guided tour through my problem solving process again!

Files

Comments

Iora

Wow! Very cool stuff! So much extra work, but should give some really nice results for the physics and little skin creases and things typically caused by muscles that isn't typically seen with basic rigging.

Annon

like on cue, this is excatly the kind of reference I've been looking for.