The first shot was a cylinder divided using the bricker polygon method to get an evenly divided mesh that was then deformed using the ripple solver.
For the second shot, the model was prepared in Maya and brought into Houdini. The model was fractured and packed. The constraint network was built out of the packed geometry. The geometry was simulated as packed primitives with glue constraints that were updated every frame using a SOP Solver. Glue constraints were marked as broken in the SOP Solver based on attributes that were transferred to them by animated geometry. This allowed for precise control of the fracturing. The simulated data was then applied to a higher resolution version of the geometry.
The Trail SOP was used to calculate point velocities. Points below a threshold velocity were deleted. The Debris Source SOP was used on the resulting geometry, and the output of that was fed into a POP Network to create the debris. Deformed spheres were instanced onto the particles based on their ID.
The points from the Debris Source SOP were stamped in the Volume Source SOP. The Volume Source SOP was fed into a DOP Network to create the dust simulation. The dust was cached as a VDB sequence and imported into Maya through a Redshift Volume.
The project was rendered using Redshift in Maya. The geometry and the debris were cached out as an alembic from Houdini. The dust was cached out as a VDB sequence and brought into Maya as a Redshift volume.
The geometry was rendered on one layer with puzzle mattes, specular, and reflection AOVs. The dust was rendered on a different layer with object mattes for the geometry.