物理节点添加重力堆叠后摇晃

物理节点添加重力堆叠后产生摇晃,摇摇欲坠,猜测是节点的相互穿透原因,有什么好的解决方法吗

文科不太好,难以理解这是什么bug,能给个demo或者视频/gif么

很多可以相互碰撞的物理节点堆叠在一起,类似于现实世界中很多木块堆一起,理论上说只要他们会互不干扰,相对静止,就像这样
每个方块都有重力,当方块堆叠的比较多时,这些物理节点会发生相互穿透,简单来说就是一个方块挤到另一个里面去了,就像这样,发生了物理穿透,这时候就不断发成碰撞检测,把那个挤进去的物理节点给矫正过来,造成了整个物理世界的摇晃,最后坍塌,理论上说他们是堆叠的不会穿透,这种问题有什么好的解决方法吗

如果是在编辑器里面摆好的会不会坍塌?

理论上也会的,这里面的摆放坐标都是计算出来的,在摆的层数比较少的时候,是不会发生穿透摇晃的问题,但是堆的比较高时,就会因为重力的原因,发生穿透,不设置重力,是不会穿透摇晃的

哈哈,我记得unity也是这种比较“软”的物理效果,不是那种“硬”的。
一个超大质量的物体放在另一个物体上,始终都会有嵌入感。
你可以试试调整物体的质量来减少这种效果。

试了但是一直感觉效果不好,本身就需要有方块往下掉的那种情景,质量减小会比较飘

就是想问问看有没有方法更改物理引擎某些地方,使得不产生这种物理穿透的效果,只要不穿透,就进而不会摇晃直到坍塌

减小物理步长试试呢,步长长了导致嵌入过多,然后排斥力给大了,导致弹出物体的表面了。

物体的弹性设置为0

如果你只需要游戏开始前保持这样的状态,可以先把刚体全部休眠了,或者设置type为静态刚体,游戏开始了再改回来。

降低物理步长和各个属性的迭代次数,都会降低物理的检测频率,会更有可能发生刚体穿透,这个参数调节过,但是增大步长在有些性能不好的设备上会加大运算负担,导致变卡

还有个方法,就是 把积木作为一个 整体组,每个方块设置较高密度,并且不会发生旋转,或者直接设为静态物体也可以(不容易倒塌)。
一旦判断到组内的其中一个方块被外部物体碰撞后,再去触发组内所有物体的 物理效果,设为可旋转,低密度的(开始倒塌)。

弹性一直设为0的,我是这么做的,生成的时候全是静态,这个时候不会发生穿透,游戏开始时也是只对需要操作的部分恢复动态,就算是这样,也会穿透,毕竟需要操作的物理节点就有挺多了

看下可以换个思路不,你只是想要更“重”,更“快”一点的物理效果。
你可以试试只用最小的质量,通过其他方式来模拟更“重”更“快”的效果。

全选那些刚体修改这个属性为true:

试过物理引擎的加速,但是效果好像不咋地

这样会不会有几率产生某些没有发生物理碰撞的方块悬空了,一直是静态

那可以这样,没碰撞到的物体设置小质量,或者没质量。有碰撞检测后在恢复到原始质量。

这个是个思路初始为true,在检测到某些方块需要下落做一些物理动作的时候再设为false,不影响运动,我试下