在2D物理引擎中,当物体静止时,如何避免无用的碰撞解决方案?
在我正在使用love-2d开发(用于学习)的物理引擎中,我通过以下方式实现了碰撞解决方案: FixedUpdate(dt) // I use fixed timestep foreach collide c1 in allNotStaticColliders c1.integartePhysic // i.e. apply gravitational force.. foreach collider c2 "near" c1 // "near"= I use spatial hashing if collide(c1,c2) resolve collision (c1,c2) // the heavy operation collison callbacks c1 collison callbacks c2 ... 如您所见,在gif动画的末尾,当所有对撞机几乎都固定在静态对象上时,FPS会衰减。 这是因为碰撞解决方案的数量随着对象在静止时花费更多的时间而增加。但是,许多计算都是“无用的”,因为对象已经相对彼此沉降到稳定的位置。 避免这些“无用的”碰撞检测的最佳实践(最好是不需要物理学位)是什么? 编辑:接受DMGregory提示,并得出此结果(尚不理想) (红色=静态,蓝色=活动,绿色=睡眠)