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