子弹 - 刚体不会高速碰撞?

时间:2017-04-02 21:35:07

标签: bulletphysics bullet

我正在尝试使用Bullet和OpenGL制作基本的第一人称射击游戏。我的问题是我的刚体没有高速碰撞。

我的子弹将穿过我拥有的任何其他刚体,例如墙壁。将速度降低到小于10确实会导致碰撞,但这对于移动的子弹来说太低了。子弹也快速移动(我知道这是一个快速移动的子弹,但有时我甚至看不到它,不确定是否预期)。

我认为这与我如何踩踏模拟有关?阅读它让我感到困惑。如何才能使我的物体始终碰撞(至少在合理地快速行驶时),如果可能的话,有没有办法减慢模拟速度,同时保持正确的子弹速度等,这样我才能真正看到子弹移动和碰撞?

1 个答案:

答案 0 :(得分:1)

以下是一些解决方法: - How can I avoid missing collisions for fast moving objects? - an official FAQ

复制
  
      
  • 较小的时间步数
  •   
  • 沿着动作挤出物体
  •   
  • 射线投射到新位置
  •   
  • 扫掠碰撞试验(凸铸,线性铸造)
  •   
  • 连续碰撞检测,包括旋转运动
  •   

请阅读链接了解更多详情。这不是一个微不足道的问题 在尝试任何事情之前要问一件重要的事情:你真的需要高速物体吗? 它不是免费的(花费更多的CPU)。

这是另一个有用的链接(尽管不太有用):https://gamedev.stackexchange.com/questions/11961/how-can-i-enable-ccd-in-bullet-physics