仅将Box2D用于碰撞检测是否有意义?

时间:2013-03-28 20:14:59

标签: 2d box2d collision-detection

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

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

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

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

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

我同意iforce2d,你应该使用动态物体,其重力设定为零。

祝你好运,编码愉快。