RBD rigid body dynamics, fracture, shatter, destruction in Houdini
RBD rigid body dynamics, fracture, shatter, destruction
for: shattering glass, breaking wood, destruction, fractures, building collapses, ground collapses
create the geo for fracturing
add a box or some testgeometry
fracture the geometry
add RBD material fracture node constraints tab -> primary strength: 100 detail tab -> check edge detail check interior detail chipping tab -> check enable chipping (small fragments) add RBD configure node (this packs the geo) add RBD bullet solver setup tab -> global substeps: 2 properties tab -> collosion padding: 0.01 collision tab -> ground collision ground type: ground plane forces tab -> check drag check drag spin add 4 null nodes under the RBDbulletsolver connect them to out, name them: 1st: high res deforming 2nd: constraints deforming 3rd: proxy deforming 4th: points deforming
transform fractured geo
add RBD pack node (between RBDconfig und RBDbulletsolver) add transform node (after RBDpack) add RBD unpack node
multiple copies, copy to points, copy and transform
add RBD pack node (between RBDconfig und RBDbulletsolver) add transform node (after RBDpack) add copy and transform total number: 8 translate: 0 2 0 add RBD unpack node check enforce unique name attribute!!
colorize the fractures pieces
add color node (feed the RBDmaterialfracture) class: primitive color type: random from attribute attribute: name
preview fractured geo exploded
add RBD exploded view node (after RBDmaterialfracture then branch off like UV quickshade, or delete it again)
saving caching the fracture simulation to disk
add RBD io node (and feed 4 out from RBDbulletsolver) file path: explicit click save to disk (now it loads the cached sim from disk, the RBDbulletsolver can be disconnected)
for caching larger sims:
use the transform pieces node to cache only with points (watch videos in src for more infos)
rendering the RBD simulation
assign materials to the inside and outside
add unpack node (after the filecache) (to get inside and outside groups) add trail node result type: compute velocity (click points trails icon to see) alternatively: set transfer attributes: v in unpack node add material node, name it outside group: outside add material node, name it inside group: inside in mat context add 2 mtlx standard surface materials and assign them in the material nodes
example for destruction of 2 objects flying into each other
https://www.youtube.com/watch?v=kYCT743alVI
src
https://www.youtube.com/watch?v=ul85ejWgnvY https://www.youtube.com/watch?v=d_8EEfIe1Lk