Joint-Based Muscle Setup / by Jeremy Ernst

I wanted to test out a simple solution for adding more volume preservation and movement using just joints and a simple squash/stretch segment setup. The idea was to place joint segments where the muscle would tend to sit, then utilize a single chain IK solver combined with squash and stretch on the base joint to get volume preservation.

For example, the pectoral muscle attaches along the sternum/clavicles, and inserts itself near the bicep.

pectoral.jfif

Because we’re dealing with a simplified skeleton, the joint segment is going to be parented under the relevant spine joint, with the end of the segment landing somewhere on the upper arm. (In my quick test, I didn’t place it super accurately to the muscle, but the desired result is achieved regardless). The script (posted below) will create the setup and parent the IK handle under the insertion parent, the upper arm in this case.

Combined with using NgSkinTools, this was a really quick way of achieving some decent joint-based volume preservation.

This was the simple script I wrote to setup the stretchy segments for the muscles:

The final result: