3d打砖块,砖块添加重力后自动倒塌问题,比较紧急!!

正在做一个弹弓出球击打房屋,房屋受击后破碎的游戏,要求房子局部受损后,其他的未被球击中的砖块可以根据房子结构或者重力等因素其余砖块自动坍塌。
游戏制作过程中使用了物理系统,房屋由N个长宽高不同的长方体组成。大致如下(下图为不使用重力的测试情况):


目前遇到一个问题,小方块加上重力后会自动坍塌,坍塌后碎块会留在粉红色的平台上(这个符合预期),表现如下:

试过了增大方块物理材质摩擦系数,方块弹性系数置零,增大方块质量,延迟开启重力,都无效。目标效果是初始化建筑后,在弹弓小球没有击打建筑的情况下,建筑稳定存在。小砖块的boxcollider大小是通过获取modelComponent的aabb包围盒的大小动态生成的,,并且做了编辑器运行,生成代码以及编辑器观察效果如下:


目标需求明确:如下情况,下面建筑被击碎后,希望上面的建筑可以实现自动倒下:

试试击中的一霎那,再开启物体的物理系统

一开始不要 设置刚体 awake (自动唤醒)

创建刚体后调用sleep吗?

试试这几个思路:

  1. 一开始不加重力,用个大的包围盒 trigger 判断子弹是否能够击中物体,子弹碰到物体后再开启重力
  2. 一开始刚体质量全部设置成 0,用个大的包围盒 trigger 判断子弹是否能够击中物体,子弹快碰到物体后再设置成正常的质量

要求房子局部受损后,其他的未被球击中的砖块可以根据房子结构或者重力等因素自动坍塌,请问如果要满足这个需求,这个方案是不是不可行?

这些都会全部塌了,不太可行,需求有点像 unreal 的 chaos 破坏系统