cannon.js 注册碰撞而不碰撞

cannon.js registering collision without colliding

我正在使用 cannon.js 创建简单的汽车游戏,但我正在为此苦苦挣扎。

我想做的事情:

当我运行开车撞到另一个object(例如球体)时,我想知道它。

例如增加分数或其他任何东西,但不对两个 object 施加力。

我尝试失败的:

使用

chassisBody.addEventListener("collide",function(e){ "mycode"};

有组合组

var GROUP1 = 1; etc..

但是我猜想的点是标记 object 我想要和不想碰撞,我希望他们“碰撞”但实际上没有对他们施加力,只记录他们的身体相交并触发我的评分代码等

(我添加了 threejs 标签以防万一有人可能无意中发现了这个,我仍然在使用它)

编辑 2022:

这是它的样子,警告,它是旧代码:)

https://martincerven.com/games/car_simulation/test.html

以下代码取自this示例。我用你的事件侦听器回调进行了测试,它工作正常。

设置刚体的collisionResponse0:

b2.collisionResponse = 0; // no impact on other bodys
b2.addEventListener("collide", function(e){ console.log("sphere collided"); } );