首页 文章

子弹物理问题

提问于
浏览
1

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

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

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

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

Bullet 中是否有一个设置可以在碰撞后自动反弹物体?或者您是否必须手动测试碰撞并自行应用所产生的力?

谢谢。

1 回答

  • 0

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

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

相关问题