Muscles

One of the many things trapped in our Discord Showcase channel since before the move to this forum, an example of how one can achieve muscle simulation with Ragdoll.

1-point muscle

The simplest case, a sphere connected at two points. You’d get jiggle in the translate channel, leaving rotate free and aligned with its parent, such as the upper arm.

2-point muscle

Capsule instead of sphere, meaning you get both translation and rotation, but only along a single axis. This would be a little more detailed, but still perform very well.

3-point muscle

Finally, for a full translate and rotate result, with collisions against the underlying skeleton, use 3 or more points to constrain a custom shaped muscle.

Whichever route you pick, you could end up driving a set of joints used to skin the character like this.

2 Likes

Two more muscle tricks you can employ in newer versions of Ragdoll.

Soft Translate

Every Marker has an option for how to handle translation. Most Markers won’t need translation, just like how most controls on any character won’t need it, just like how our human limbs don’t translate, only rotate.

But for muscles, this can come in handy!

Attach Constraint

Under the hood the Soft Translate of Markers is an Attach Constraint. So another option is to use an Attach Constraint instead of Soft Translate, the effect is the same, except now you also need to take into account how to deal with contacts between the two Markers. When a Marker is assigned to a parent, collisions between it and the parent are normally ignored. To emulate this effect, you can either assign a collision group between parent and muscle, or ignore collisions on the muscle altogether.

In both cases, having your muscles ignore gravity can be a good option to avoid drooping.

Enjoy! :partying_face:

3 Likes