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



Veröffentlicht: 11.2023