This personal project is a car destruction simulation built entirely in Houdini, rendered with Karma XPU inside Solaris. It represents approximately three months of work, during which I deepened my understanding of Houdini's RBD Bullet workflow.
Throughout this project, I explored the full destruction pipeline, from model preparation and fracturing, through constraint setup, simulation, and high-resolution mesh transfer using Point Deform, to secondary effects such as smoke and sparks. Each step taught me something new, whether it was optimizing a simulation with proxy geometry, cmetal deformation using glue-to-soft constraint transitions etc...
All the models come from Kitbash.
1 - I started by naming each piece present on the model in order to reference them during the constraint setup later.
2 - I separated the different parts of the car, distinguishing which pieces needed to be fractured and which did not. I then created a proxy of the car's overall body and fractured it.
3 - I then worked on the constraints by creating multiple constraint groups to achieve varied behavior across different parts of the vehicle. For the majority of the car body, I used glue constraints transitioning to soft constraints.
4 - The setup itself is fairly straightforward. I used a box collider to deliver the initial impulse to the car, combined with an initial velocity. Inside the RBD solver, I added a few nodes to delete specific constraints for artistic control.
5 - Once the RBD simulation was cached out using the proxy geometry, I imported the simulation and the high-quality model. Using a Point Deform node, I transferred the proxy's animation onto the high-resolution mesh.
6 - For the secondary smoke simulation, I kept things simple. I isolated a specific part of the car where I wanted the smoke to emit from, then ran a smoke simulation to add an extra layer to the RBD sim.
7 - For the sparks simulation, I took inspiration from @na.effects' setup on YouTube. I used the parts of the car in contact with the ground as emitters, then applied noise to randomize the appearance of the sparks, creating a more organic sim.
Compositing