RigFlex - Simple Soft Body for Armatures

(Nerk) #1

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


Hair question
(urkokul) #2

The good approach. Thanks for this addon


(CYNIC78) #3

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


(Dene) #4

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


(Nerk) #5

@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…


(CYNIC78) #6

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.


(Nerk) #7

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.

1 Like