RigFlex - Simple Soft Body for Armatures

Blender has many ways of adding soft-body simulation, but I’ve always found it takes a while to get it right. I often want to add just a simple ‘lag’ action to pieces of the model, such as antennae, backpacks, hair strands etc. I made this add-on some time ago in an ugly sort of way and I’ve found it handy. I gave it a re-vamp, ported to 2.8 and thought I might share it in case it’s useful for someone else…

Instructions and download link: https://github.com/nerk987/RigFlex
(There’s a 2.79 version in the releases tab as well)

Simple instructions for using:

  • Select the deform bones in your rig that require the soft body treatment
  • From the RigFlex tab in the sidebar, hit the Initialize button which will
    • Duplicate the bones into a new bone layer
    • Add a ‘copy transform’ to the new bones so that they follow the original bones for now
    • Modify objects with an armature modifier, or parented to the original bones to use the new bones
  • Animate the model as required, then use the RigFlex ‘Bake’ button which will
    • remove the ‘Copy Transforms’ constraints
    • add keyframes to the new bones to simulate a very simple soft body action over the specified range
  • To change the animation, use the ‘Free Bake’ button, and ‘Bake’ again after the change.

More detailed instructions:

Note: I’ve used a very simple simulation model on purpose. It’s just a ‘first order’ lag with a single ‘stiffness’ parameter from 0 - 1. A mass/spring/damping model isn’t that hard to code, but it’s hard to get the right result without a lot of fiddling. I just wanted a no fuss result. The other soft body methods are still available if required.

Also, not long ago I noticed an older add-on which has a similar aim. Jiggle Armature. If you haven’t seen it, you may want to check it out as well. Thread here: https://blenderartists.org/t/jiggle-armature-2

11 Likes

The good approach. Thanks for this addon

Is there any chance to make collisions in this addon? Could be cool to use it for hair simulation.

Wow! Looks cool! Where have you been for such a long time? :smiley: Thanks!

@CYNIC78 Sorry, but I think collisions would be beyond my ability.

It’s possible to add limit constraints to bones in the simulation layer. I had been thinking to add a panel to assist with this so that you could pose the bones to be simulated in the limiting position and then click to add the limit in a given axis (eg -Z). This could help to stop fingers and elbows bending back too far, or hair going through the scalp. It might help in a small way…

Ok thank you for answer. I think limit position (or rotation?) in local axis option would be helpfull. It could be even better than collisions, cause it don’t need extra calculations for engine. If you could add such feature it would be really cool! Thank in advance.

I’ve fixed a few issues, and added a few small features to the RigFlex addon.

v0.3.3 Blender 2.8 version

  • fixed issues associated with having more than one armature in the scene
  • allow additional bones to be initialized rather than having to start over
  • fixed some issues with armature x-mirror
  • added freeze/unfreeze functions to allow tweaked flexy animation to be ‘frozen’
    (details in documentation on github)

Instructions and download link: https://github.com/nerk987/RigFlex

The tutorial and information at the top of the thread is still relevant.

3 Likes

Thanks so much! What a simple, easy to use and helpful tool for this purpose. I’ve just tried it on a simple mesh hair simulation for a character, and it works a treat. I literally jumped for joy!

Hello, I will be using 2.79B for YEARS to come.
Would you be so kind as to update the 2.79b version with all the 2.8 fixes?

1 Like

Why not 2.8?

@anon62435837 I guess we all just use the software that does the job for us…

v0.3.3 Blender 2.79 version
https://github.com/nerk987/RigFlex/releases/download/v0.3.3-2.79/RigFlex.zip

I gave it a quick try and it seems to work. Let me know if you find issues.

Untitled-1

Sorry, I managed to upload the wrong zip file…

Please download from the same link again and have another go…

Hi, I have redownloaded the add-on and it installed with no error.

Then I followed your video [you have a very nice voice] and try it on my 2.79b, it doesn’t work.
Here is me trying it:

Nice video, this makes it easy to see what’s going on.

I think the add-on is probably working ok. When you hit the Initialize button, a copy is made of the selected bones and these are placed by default on bone layer 24. (You can select the bone layer in the panel) These are the bones which receive the simulation. You won’t see them unless you enable the layer in the armature panel.

If you had a mesh deformed by the armature, you would see it receive the soft body effect as it is modified so that the vertex groups now point to the bones on layer 24.

The idea was to hide the mechanics of how it works a little bit.

Hope this helps!

Hi THANK YOU IT WORKS !!!
I realize now that I forget to click initialize…if only clicking the bake button will auto initialize if it was not but it’s ok ! THANK YOU !!!

Glad you got it going!

Yes, you’re probably right that auto-init would be handy. I used the addon myself recently and found it slightly annoying to initialize, set frame range and bake.

I’ve updated the 2.80 and 2.79 versions to first initialize selected bones and set the RigFlex frame range to the scene frame range if you hit bake on an armature that has not yet been initialized.

The 2.80 version also has a few changes to suit recent API updates and let it work on the latest version.

Download links at https://github.com/nerk987/RigFlex

I’ve updated the RigFlex addon to work with Blender 4.0, taking into account the new bone collections.

Download Link: RigFlex_4_00_0.zip
Github Page: Github/Nerk987/RigFlex

I first made this add-on for Blender 2.79! Blender’s come a long way since then! There are more well known addons like WiggleBones around, but I still use RigFlex myself fairly often. It’s just very simple to add a little flexibility to a bone chain after the main animation is done, and easily be reverted if needed:

The original tutorial video is still fairly relevant:

3 Likes