1

我有一个正在运行的模拟,我想测试 2D 对象的碰撞。我对 Box2D 的物理模拟部分不感兴趣,但想利用它的碰撞检测功能。

我最初的想法是制作一堆静态物体,但在阅读文档后我得到的印象是它们没有包含在碰撞测试中,因此没有意义。

是否值得在我的系统中使用 Box2D 评估碰撞检测,其中元素的位置由单独的系统驱动,还是在其他地方寻找碰撞检测解决方案更有意义?如果是这样,我将如何使用 Box2D 开始这条路?

4

2 回答 2

4

虽然我自己没有尝试过,但我想你可以通过使用动态物体来做到这一点,世界重力设置为零,所有物体的线速度设置为零(所以它们不会在世界步骤调用中移动)然后定位它们使用 SetTransform。常规的 BeginContact/EndContact 事件仍应发送到您的联系侦听器。

于 2013-03-30T07:07:54.173 回答
2

是的,使用 Box2D。与 Chipmunk 和 Bullet 相比,Box2D 拥有我用过的最好的碰撞检测系统。

我同意 iforce2d,您应该使用具有重力设置为零的世界的动态物体。

祝你好运,编码愉快。

于 2013-03-30T22:11:00.397 回答