我正在尝试在我的 iOS 游戏中使用 Bullet Physics。该引擎似乎已正确编译,因为演示工作正常。
在我的游戏中,我有玩家的船和一些敌船。它们被定义为 btRigidBody 对象和 btCollisionObjects,我使用 btSphereShapes 进行碰撞。
在“快”的速度下,碰撞似乎是明智的——事情发生了碰撞,没有什么事情会变得“奇怪”。如果速度非常慢并且玩家的船碰到了一个不动的物体,碰撞就会发生,但是玩家的船在接下来的几帧中以难以置信的速度移动,并且看起来距离碰撞的地方很远 - 完全不成比例它在撞击前的移动速度。
为了移动这些东西,我每帧都使用 setLinearVelocity(),勾选物理引擎,然后使用 getMotionState() 更新我拥有的渲染代码。
部分问题可能是我不太了解如何设置正确的质量或用于任何事情的最佳速度。我主要是坚持数字,看看会发生什么。
我应该以这种方式使用 Bullet,是否有任何确定物体质量的准则?(我是否正确地假设在碰撞中较重的物体会迫使较轻的物体移动更多)