As Medhi said last session, this week would be much harder and it was! No surprise! It really was super hard, but super cool too. Simulation is a powerfull thing if we know how to do it properlly.
On the first session we had to create a wood cabin and as an extra we could add some detail as it was going to be used for this week, I wasn’t able to add detail as I know so little of Houdini. So to start, Medhi showed us how to add detail and it was super easy!
This is what the first cabin looked like:
This is what the cabin looked like after I added detail:
For the wood planks we copied the main cabin and it’s transform from the first one and in wireframe mode it was possible to place the planks on the right place, then I decided to add 2 more windows as I’m still very new to Houdini. We added glass with the same boolean process from before, grouping every part of the cabin seperatly, depending on each material and the three groups were: roof, wood, ground and glass.
But before doing the simulation we must understand how destruction works, so the demonstration was made with a cube and a sphere. We used the concrete simulation and added noise to the destryoed pieces, but I admit this part was challenging and some things were only understood when applying this knowledge to the cabin. But I was able to create all the things medhi showed us.

Detruction of the cabin
Simple Cabin
We began the destruction simulation with the simple cabin, where we added a rbdmaterialfracture node with 3 fracture levels, each one with different scatter points and noise frequency. Each fracture level can have different scatter points as a way to create more small pieces for the destruction as well as noise frequency to have a more random look. Add an explodedview node to see the scattered pieces.
Next create a rbdbulletsolver node and connect it to the rbdmaterialsolver node, if we hit play the whole cabin starts to fall so we can add a ground plane on the bulletsolver attributes. The result is the cabin destroys itself, nothing is put together, for now it is only loose pieces. To fix that we must connect the constraint output from bulletsolver to rbdmaterialfracture and that sets a glue constraint that keeps the pieces all together. When doing this I had some issues, because some pieces had some errors, but on the talks with medhi he explained that the problem was due to the noise frequency on the fracture levels.

When creating a sphere and key it to go through a side of the cabin, the whole cabin moves and it is not destroyed as we want to. The way to change this is creating an assemble node and check the create packed geometry and uncheck the others, but the cabin still moves so we have to create a group with half the cabin and with an attributecreate node “tell the software” that the pieces from the group cannot move and the ones hit by the simulation can.
Finally we can add a transformpieces and filecache nodes to have the points of the simulation saved with an optimized network which makes it easier to import and quickly have it ready to work.

Detailed Cabin
Now for the detailed wood cabin, Medhi explained that if we ever work with this kind of thing, someone would send us a file and we would need to load it from disk, so we simulated that process creating an object merge node and draging the final null node to the object 1 field. This way the object merge node is connected to the null with the full model’s geometry.
So with 4 blast nodes and assigning them to each group created previously for every part of the cabin we have them separated and can start editing the parameters for each material fracture. We began with the wood group and created 3 nodes: voronoi fracture, scatter and VDB from points and connect them, the result is not very realistic, it doesn’t lood like wood. To fix this Medhi showed us a hack by creating a transform node, change the cabin y scale and create a referenced node from it and invert transformation: now it looks like wood!!
For the glass we created a material fracture node and change the glass material type to glass but it was only creating a center of the fracture in one glass, like they were all one. To change that we could create multiple blast nodes and apply the effect to each, or we could create a foreachconnectedpiece node that applies the effect to every piece and it is simplified.
The roof was destroyed with a material fracture and the material type changed to croncrete and 3 fracture levels like we did before in the simple cabin. Finally, a merge node to connect it all. Finally we can copy the proxys from the simple cabin and paste them onto the end of the simulation. This is what the nodes look like:
