Home Website Youtube GitHub

Spring Chain Gravity / Bake Spring Nodes

Maya 2026
mGear 5.3.5 - 5.4.4
Spring Chain Gravity

During animation, all Spring Chain Gravity parameters work perfectly. The result is excellent, the gravity simulation looks fantastic, and everything is fine-tuned exactly the way I want it. None of the Spring Chain parameters are animated!

However, when I use Bake Spring Nodes , the elephant’s trunk gradually starts falling downward.

Is there another way to bake the current Spring Chain Gravity simulation so I can manually refine the animation afterward and create a perfect loop?

I think the ideal solution would be a button that actually bakes the simulated motion directly onto the animation controls as keyframes, allowing us to fine-tune the final animation.

Thanks in advance!

I asked GPT to create a script based on an approach I believe is practical and useful for animators.
It works with both Spring Chain systems. Just run in your py script editor and you will get small UI with a few options.

LINK

The script also works when multiple Spring Chains are combined into a single setup, like my elephant’s ears, for example, where I have one main chain and three secondary chains.

Just to be clear, it’s not a perfect solution, as it’s a bit slower when calculating!
If anyone knows how to optimize this script and make it run faster, I’ll be as happy as a kid in a candy store! :slight_smile:

Let’s go to make a loop :slight_smile:

I’m not going to read that long script. :sweat_smile:

  1. What are you selecting when you bake? Controls? Roots? Are you seeing any warnings or errors? I don’t know if the tool automatically selects the right components for you. There was this topic about saving presets where there was a problem based on what was selected. Spring Manager- Presets Not Saving - #2 by alisieck

  2. Otherwise you should be able to just go find the nodes that have green channel box attributes, and bake those manually. Save those nodes in a selection set if there isn’t already one, for convenience.

I completely understand you. I didn’t read that much code either! :slight_smile:
I’m sure the whole process could be done with just a third of the code.

Spring Chain is part of a referenced rig.
I’ve tried selecting only the root, and I’ve also tried selecting all the controls.
There are no errors, as this is definitely the expected behavior when baking with Spring Gravity.

I know that the cns group is where the animation gets baked. However, I wanted to simplify the whole process with this ridiculously long script! :slight_smile:

My goal was to let animators avoid working with animation on groups, especially since those groups don’t support Reset, Mirror, Flip, etc.

Instead, I wanted a one-click solution where selecting the controls (or even just one control within the chain hierarchy) would bake the animation directly onto the controls themselves, making it easy to edit through the Animation Picker, while placing the entire bake into an animation layer.

This way, the original hand-keyed animation remains completely untouched on the controls that animators actually use.