Animating Muscles with a Character movements

Hey everyone, when planning out your character development how often do you need consider animating the muscles (anatomy) of your character? I don’t mean animating individual movement of a muscle by itself, but while the character performs actions in the game like running, jumping, climbing etc. should you consider showing the compression and expansion of the applicable muscle(s) while performing these actions. This would reflect a more anatomically accurate movement. However I don’t know if this is a typical practice or not? For example, if you create an animated sequence in game of a character punching someone, there chest muscles expand according to the movement of the arm.

What are your opinions? Is this something you should consider while developing a character?

I can talk quite a bit about this topic as I have made quite a bit of research in this field and my work as a lead character td for films has also earned me some knowledge regarding this. There are several ways and layers on which this can be implemented. But lets take a step back first.

Now here we also have to point out that there is 2 levels of anatomical featuring for character deformation:

  1. Simple anatomical movement and volume preservation: This means no volume loss,candy wrapp on twists, maybe some simple corrective shapes here and there to make the character as flexible as possible while mantaining a stable deformation without intersections, shrinks, warps or linear movements that would kill the believability of the characters posing.

  2. Full musuloskeletal featuring: This involves muscle flexor/extensor action depending type of force applyiing, secondary motion by fat and muscles, shader adjustments in color, spec, normals based on skin stress level (pressure, stretch, compress, bone to skin pression), possibly even skin wrinkling and sliding via true vertex movement or texture shifting.

You could maybe elaborate if you were referring to number 1 (basic level of detail) or 2 (high level of detail).

Once you know more about what you actually want, the question you should ask yourself is: “Does my game really need this?” Now mostly this might be a rather tough to answer question as you naturally want to achieve the greatest results possible, but look at the greater picture. How much resources is it going to cost you to implement this type of thing in your game? Could you have done something more useful with those resources? - There Im sure the answer will 99% of the time be “too expensive for no clear benefit”. I cant think of any game that actually did this. (So Id be really thankful if anyone has examples).

Im going to continue here now tho as if you actually made the desicion to go for it. Reasons could be: Realistic fighting game like UFC or any other sports game with similar criteria, crazy barbarians, monsters, demons in your game with superhuman musculature and no clothing that need to look real up close, a game where characters can have sexual interactions and the act needs to look believable and not like some skyrim mod … or you simply DO have the time, resources and the ambition to add this next level of quality to your characters.

So to answer your actual first question, yes. I did not only consider this, I am currently looking into rnd about this on several different techniques. Our project really needs to have this sort of detail as that is one of the key aspects of our visuals (Characters are supposed to have sex in our game)

Lets talk some tech…
I have found a few different ways to introduce secondary anatomical accuracy to a character animation - some more experimental than others:

  1. Via normal maps. These can simply be normal maps provided by the modeler where specific regions of the characters musculature are flexed/tensed. These can be masked in and out.

  2. Via dynamic displacement/vertex anim… similar to number one, the modeler would provide some sort of vector displacement maps that drive vertex offset motion in the shader. This can be done in addition to number 1 to add the deformation.

  3. Using morph targets. Basically same as 2 again, but instead of vector displacement in shader to drive vertex, we use morph targets to take care of the job.

  4. Helper joints which have been specifically weighted to adress certain muscles. This option I found to be rather disadvantageous depending on the complexity of the rig the character already has since they might interfere with the current weight limit per vertex of 8 influences. With our current rigs we are already hitting those hard limits (And our setups dont have muscle flex bones). This could be used in a more basic way to instead of adding the actual detailing, to just add the secondary motion from jiggle.

(5.) A complete redesign of the skinCluster node or the character deformation system in general. Instead of using simple matrices to drive a bunch of points, use simulated muscle objects that influence a fat and fascia layer via direct weighted wrapping or similar and that then drives the final mesh. Now this is super experimental and I havent done anything in this direction for realtime development. Where I work atm in film we use systems like this to drive our characters body, but its genreally very slow and not much has happened/ or made public in regards to real-time development. This would also include using stuff like nvidia gameworks or similar packages.

Most of these you will drive depending on action of key reference points to measure current force and relative direction on the characters body. This will then dictated which muscles fire when and how.
The way of measuring this however will involve some anatomy, maths and physics knowledge if you want to implement an automated system within the engine that can take care of this for you. Im pretty sure a simplified version for this could be done in blueprints using nothing more than socket information and maybe weight of action for if the character is lifting objects or iteracting with other characters that have dynamic force attributes assigned. It can get really complex down here in this field tho so Ill stop the post here.

-s

4 Likes