SceneKit:物理世界相对于身体

时间:2014-07-31 05:40:12

标签: ios scenekit

我有一艘船,一切都在中心,一切都相对于它移动。这是第一人称射击游戏。现在,当我开火,船速度加快时,它会赶上子弹。我希望物理世界相对于船的速度移动,这样子弹基本上不受船速的影响。

物理引擎正在做正确的事情,但对我的游戏来说不是正确的事情。

我有其他元素在移动时相对于船移动,现在正确移动,所以不要让船静止并移动周围世界的其他所有东西。我没有看到直接的方法来做到这一点,也许是间接的方式?也许我可以手动接管子弹的定位。我想使用物理引擎的其他部分进行碰撞等,所以不要完全手动执行,但如果这是唯一的选择。

其他人有什么建议吗?

1 个答案:

答案 0 :(得分:1)

听起来你的子弹正在接受空气摩擦。这是由物理机构控制的......"阻尼"属性。值为1.0将使其静止而不移动。值为0将允许它连续移动而不会停止。根据Apple文档,默认值为0.1。像这样分配节点以消除阻尼(空气摩擦)......

yourNode.physicsBody.damping = 0