Bullet - 刚体不会高速碰撞?

Bullet - Rigid bodies not colliding at high speed?

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

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

我在想这与我如何进行模拟有关?阅读它让我感到困惑。我怎样才能让我的物体总是发生碰撞(至少,当速度相当快时),如果可能的话,有没有办法在保持正确的子弹速度等的同时减慢模拟速度,这样我就可以真正看到子弹移动和碰撞?

这里有一些解决方法:-
复制自How can I avoid missing collisions for fast moving objects? - an official FAQ

  • smaller timesteps
  • extruding the object along the motion
  • ray cast to the new position
  • swept collision test (convex cast, linear cast)
  • continuous collision detection, including rotational motion

请阅读link了解更多详情。这不是一个小问题。
尝试任何事情之前要问的一件重要事情:你真的需要高速对象吗?
它不是免费的(成本更高CPU)。

这是另一个有用的 link(虽然用处不大):https://gamedev.stackexchange.com/questions/11961/how-can-i-enable-ccd-in-bullet-physics