【发布时间】:2013-10-13 07:43:04
【问题描述】:
我使用标准 Box2D ContactListener 来监听碰撞事件。我想要的是计算Bodies之间碰撞的影响强度。
我已经阅读了许多关于人们如何计算它的不同描述。有些使用preSolve 回调,有些使用postSolve。有些使用Manifold,有些使用ContactImpulse。有些只取第一个点的 normalImpulse+tangentImpulse,有些取所有点的总和,其他取最大值。有些人完全忽略了 tangentImpulses...
我无法解决这个问题。有时我在postSolve 中只得到脉冲,而preSolve 中的脉冲总共为 0。有时情况正好相反。有时我得到高得离谱的值(比如 1E15 到 1E30),有时它们低得离谱(比如 -1E15 到 -1E30)。我什至认为其中一个冲动是NaN(不是数字)。
有没有人可以向我解释如何解决这个问题,或者解释如何解释这些冲动?或者也许指向我使用 Box2D 并且还需要计算任何类型的损坏系统的影响的任何类型的开源游戏?
【问题讨论】: