我正在使用标准的Box2D来监听碰撞事件。我想要计算Body之间碰撞的强度。关于如何计算强度,我看到有很多不同的描述。一些人使用preSolve回调,另一些人使用postSolve。有些人使用Manifold,而其他人则使用ContactImpulse。一些人只考虑第一个点的normalImpulse+tangentImpulse,另一些人则考虑所有点的总和,而另一些人则仅考虑最大值。有些人完全忽略tangentImpulses...
我无法理解这个问题。有时候我只在postSolve中得到impulses,在preSolve中得到的impulses总和为0。有时候情况恰恰相反。有时候我得到的值极高(比如1E15到1E30),有时候它们极低(比如-1E15到-1E30)。我甚至遇到了一个impulse是NaN(不是数字)的情况。
有没有人能够向我解释如何解决这个问题,并可能解释如何解释这些impulses?或者指向任何需要使用Box2D并且也需要计算任何类型伤害系统的开源游戏?
我无法理解这个问题。有时候我只在postSolve中得到impulses,在preSolve中得到的impulses总和为0。有时候情况恰恰相反。有时候我得到的值极高(比如1E15到1E30),有时候它们极低(比如-1E15到-1E30)。我甚至遇到了一个impulse是NaN(不是数字)的情况。
有没有人能够向我解释如何解决这个问题,并可能解释如何解释这些impulses?或者指向任何需要使用Box2D并且也需要计算任何类型伤害系统的开源游戏?