子弹物理问题

时间:2010-11-08 04:18:16

标签: physics game-physics bullet bulletphysics

对于那些使用过子弹物理的人......

我阅读并运行了hello world示例http://www.bulletphysics.org/mediawiki-1.5.8/index.php/Hello_World, 我很困惑去哪儿。

hello world教程由btStaticPlaneShape和btSphereShape组成,两者都是刚体。在静态平面上反弹的球体没问题。

但是,当我在另一个位置创建另一个球体时,Bullet不记录两个球体形状之间的碰撞,但它们都会自动从btStaticPlaneShape反弹。什么样的内部魔法导致btStaticPlaneShape自动弹回与之碰撞的物体?

Bullet中是否有一个设置会在碰撞后自动将物体彼此反弹?或者您是否必须手动测试碰撞并自行应用合力?

感谢。

1 个答案:

答案 0 :(得分:0)

你可能无意中在Bullet认为它们不应该相互碰撞的状态下创建了球体。如果你主要坚持默认值,并且只是在Hello World程序中添加另一个球体,那么Bullet应该注意并对它们的碰撞作出反应。它们实际上不会反弹,除非您还修改Hello World以将其恢复原状设置为大于零的值,但它们会发生碰撞。例如,我在第一个球体的正上方添加了第二个球体(通过在创建球体的代码块周围放置一个for循环,并使用循环变量来确定原始y值)并扩展模拟,使其运行时间足够长两者都到达飞机。第一个落在飞机上并在那里停留,第二个落在第一个并停在那里。

如果这没有帮助,那么发布一些代码可能是下一步的好方法。