Houdini Bullet Physics Tips 2

Download Hip File

It’s been several years since my first post on RBDs in Houdini - here is a follow up!

Over the past few releases SideFX have built an extensive toolset around on the RBD Bullet Solver SOP.

I’m a fan of the workflow and think it’s somewhat underrated and under-advertised. As I often go several months without needing to use RBD I find the toolset helps me to avoid common issues and move faster with early tests. I also work in Motion Design rather than VFX so most RBD setups to be relatively simple - no huge destruction sims required.

Pros & Cons of the SOP RBD toolset

Pros

  • Clean and consistent flow of data with multi-input / multi-output SOPs

  • Solves the ‘name’ attribute nightmares which are difficult to avoid otherwise

  • RBD Pack/Unpack SOPs function similar to Vellum Pack/Unpack and results in tidier networks which are much easier to debug

  • Extremely powerful proxying system built in

  • Plenty of control over contraints (RBD Constraint Properties) and physical properties (RBD Configure)

  • Guided sims built in, plus many other utilities (Emission, Ageing, Impacts etc)

Cons

  • Lots of new nodes to remember!

  • If you breach the limits of the toolset (i.e need to unlock the RBD Bullet Solver SOP) it gets a lot messier

  • using raw DOPnets is a better way to learn the basics of Bullet if you are brand new to Houdini

  • Niche systems involving conetwist constraints, motors or RBD rigs are better suited to raw DOPnets

Demos

See hip file. All demos are labelled with notes

#1 : RBD Configure, Basic Constraints, Object Emission

Create Proxy geometry, assign a higher mass to the head of the hammer, add glue constraints, emit!

#2 : Fracturing, Breakable Constraints, RBD Packing/Unpacking, Per Object Emission

Brick & Plaster modelled and ‘self-constrained’ in separate chains. Merged together to assign brick -> plaster constraints.

#3 : Constraints from Rules, RBD Connected/Disconnected Faces, Glue -> Soft Transition

Refractive materials must have internal faces removed until the moment they break.

#4 : Driving Constraints with Age & Activeage Attributes

Age is just a number. Use it to control stuff!

Extras

There are 4 additional examples with fewer comments:

  • A very simple demo of the RBD Cluster SOP

  • A very simple demo of a guided sim

  • A complex Multi-stage fracturing setup which combines the SOP RBD workflow with ‘traditional’ manual constraint creation

  • A complex constraint setup which abuses ‘Overwrite with SOP’ on the RBD Bullet Solver SOP

If you enjoyed this post please consider subscribing to my Patreon

Additional References

  • SideFX tutorial: Link

  • SideFX destruction docs: Link

  • Rich Lord: Link Does not cover SOP RBDs but is an absolute goldmine for more niche and complicated RBD madness

  • CGWiki: Link Constraint Networks parts 1,2 & 3

Previous
Previous

Localising Houdini Libraries

Next
Next

Surface Skinning