如何手动在物体上应用重力(cannon.js)?

3
我正在寻找一个适当的方法来对单个物体应用重力(或禁用重力)(而不会失去碰撞事件或旋转速度)。
我已经阅读了这个issue但是我正在寻找一个更完整的答案。
在我的情况下,我希望玩家受到物理影响,而奖励箱子不会受到重力的影响,但仍然会触发onCollide事件...
你有什么线索吗?
1个回答

2
你只需用三个步骤添加所需的对象,例如宝石(盒子或球体网格),按正常方式完成即可。然后当你将玩家移动到该位置时,只需在玩家停留在该位置时触发一个事件,从场景中删除该对象,并给予玩家他所收集的物品。因此,看起来像是玩家与其碰撞,但实际上并非如此,大炮无法与普通的三维网格进行交互,你需要将两者绑定在一起才能实现真正的碰撞和对该实体施加重力。

嗨,我没有标记为接受,因为这不是本地解决方案,我必须在渲染循环中使用for循环来测试所有奖励位置。但这是个好想法,顺便说一下,谢谢伙计。 - TOPKAT
1
这对我来说没问题,因为这不是真正的碰撞。更多是为了达到目标而采取的一种变通方法。但据我所知,如果启用重力,就无法实现没有重力效果的碰撞。但是我对这方面的知识还不够深入,不能确定地说什么。如果我读到类似的内容,我会在这里告诉你。 - Roland

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接