Isso é CSG - Construct Solid Geometry (embora, neste caso, seja destrutivo, a rigor), se você quiser fazer mais pesquisas sobre como os algoritmos realmente funcionam.
A abordagem padrão é usar as duas malhas A e B existentes (a casa e o volume subtraído de "explosão") para gerar uma terceira "malha" (gráfico) onde as duas malhas se cruzam nos planos e arestas, C - que descreve a área eles compartilham. Em 2D:
/ \
/ \
/ A \
| |
| /-|-\
| |C| |
--- ----- | ------- G
| B|
\---/
A é a casa, B é o volume de explosão, C é a área de união / interseção entre A e B. G é o solo.
A matemática / lógica por trás disso não é trivial, pois há muitos casos extremos para lidar e metade ou mais dessa tarefa é apenas reconhecer quais dos possíveis tipos de gráficos de resultados são casos especiais que precisam ser atendidos no código. Eu já vi o problema descrito pelos veteranos no gamedev.net como "um problema muito difícil" e posso dizer que você tentou em 2D, mesmo, e teve um grau moderado de sucesso, onde apenas alguns casos extremos falham, que não é uma tarefa pequena.
Uma maneira que pode ser mais fácil é usar um algoritmo de decomposição de polígonos e usar a geometria criada como base para a destruição da geometria.