首页 > 物理引擎是如何解决重力使得物体塌陷的问题的?

物理引擎是如何解决重力使得物体塌陷的问题的?

我现在的处理步骤是:
根据物体AABB两两找出AABB重叠的一组物体 →
根据物体形状求出碰撞点和碰撞方向和相互嵌入的距离 →
根据碰撞点, 碰撞方向, 物体速度求出碰撞产生的冲量并施加给两个物体得到碰撞后的速度 →
因为只用速度没法完全分离物体所以根据嵌入距离等直接平移物体使得两个物体移动到刚好接触的位置 →
用速度更新物体位置

然后在以上随便一步插入"对物体施加重力"(因为总体是循环的把上面的步骤随意改变顺序结果也差不多), 就会变成下面这样

 
或许是因为持续的重力会使得多个物体相互嵌入, 位置修正前后物体都是嵌入的结果位置修正跟不上重力累加造成的塌陷, 另外一次只能求两个物体的碰撞后速度, 可能会有类似支持力和重力不平衡的效果

大致上多个物体保持某一速度的同时向一个方向运动就会有这样的问题, 翻一遍了box2d的代码但没个导读也找不出哪块代码用什么方法来解决这个问题的...

【热门文章】
【热门文章】