我有一个正在运行的模拟,我想测试 2D 对象的碰撞。我对 Box2D 的物理模拟部分不感兴趣,但想利用它的碰撞检测功能。
我最初的想法是制作一堆静态物体,但在阅读文档后我得到的印象是它们没有包含在碰撞测试中,因此没有意义。
是否值得在我的系统中使用 Box2D 评估碰撞检测,其中元素的位置由单独的系统驱动,还是在其他地方寻找碰撞检测解决方案更有意义?如果是这样,我将如何使用 Box2D 开始这条路?
我有一个正在运行的模拟,我想测试 2D 对象的碰撞。我对 Box2D 的物理模拟部分不感兴趣,但想利用它的碰撞检测功能。
我最初的想法是制作一堆静态物体,但在阅读文档后我得到的印象是它们没有包含在碰撞测试中,因此没有意义。
是否值得在我的系统中使用 Box2D 评估碰撞检测,其中元素的位置由单独的系统驱动,还是在其他地方寻找碰撞检测解决方案更有意义?如果是这样,我将如何使用 Box2D 开始这条路?
虽然我自己没有尝试过,但我想你可以通过使用动态物体来做到这一点,世界重力设置为零,所有物体的线速度设置为零(所以它们不会在世界步骤调用中移动)然后定位它们使用 SetTransform。常规的 BeginContact/EndContact 事件仍应发送到您的联系侦听器。
是的,使用 Box2D。与 Chipmunk 和 Bullet 相比,Box2D 拥有我用过的最好的碰撞检测系统。
我同意 iforce2d,您应该使用具有重力设置为零的世界的动态物体。
祝你好运,编码愉快。