避免在碰撞时醒来
Avoid wake up on collision
我正在使用 cannon-es(cannon.js 的维护分支)。我需要在一段时间内修复 space 中的 object。所以,在这些情况下我会 body.sleep()
。
问题是 object 可以与其他 object 碰撞并唤醒。所以我添加 body.collisionResponse = 0
但它不起作用。 body变成幽灵object(碰撞无反应)但仍然在碰撞时醒来
有没有办法避免碰撞唤醒?
我找到了 collisionfiltergroup and collisionFilterMask 属性。
因此,在 body 创作中:
const body = new CANNON.Body({
mass: 1,
shape: shape,
material: this.physicsWorld.defaultMaterial,
collisionFilterGroup: 1,
collisionFilterMask: 1
})
并且,当它必须得到修复时:
body.sleep()
body.collisionFilterMask = 2
我正在使用 cannon-es(cannon.js 的维护分支)。我需要在一段时间内修复 space 中的 object。所以,在这些情况下我会 body.sleep()
。
问题是 object 可以与其他 object 碰撞并唤醒。所以我添加 body.collisionResponse = 0
但它不起作用。 body变成幽灵object(碰撞无反应)但仍然在碰撞时醒来
有没有办法避免碰撞唤醒?
我找到了 collisionfiltergroup and collisionFilterMask 属性。
因此,在 body 创作中:
const body = new CANNON.Body({
mass: 1,
shape: shape,
material: this.physicsWorld.defaultMaterial,
collisionFilterGroup: 1,
collisionFilterMask: 1
})
并且,当它必须得到修复时:
body.sleep()
body.collisionFilterMask = 2