Это CSG - Constructive Solid Geometry (хотя в данном случае, строго говоря, она деструктивна), если вы хотите больше исследовать, как на самом деле работают алгоритмы.
Стандартный подход состоит в том, чтобы использовать две существующие сетки A & B (дом и вычтенный объем "взрыва"), чтобы создать третью "сетку" (график), где пересекаются плоскости и ребра сетки, C - которая описывает площадь они делят. В 2D:
/ \
/ \
/ A \
| |
| /-|-\
| |C| |
--- ----- | ------- G
| B|
\---/
A - дом, B - объем взрыва, C - область соединения / пересечения между A и B. G - земля.
Математика / логика, стоящая за ней, не тривиальна, так как есть много крайних случаев, с которыми приходится иметь дело, и половина или более этой задачи просто распознают, какой из возможных типов графов результатов являются особыми случаями, которые необходимо учитывать в коде. Я видел проблему, описанную ветеранами на gamedev.net, как «очень сложную проблему», и я могу сказать вам, пытаясь решить ее даже в 2D, и имея умеренную степень успеха, когда терпит неудачу только пара крайних случаев, что это не маленькая задача.
Более простой способ - использовать алгоритм разложения полигонов и использовать вместо него геометрию, которая создает основу для уничтожения вашей геометрии.