2010-11-08 63 views
1

对于那些你们谁使用Bullet物理...子弹物理问题

我阅读并运行Hello World示例http://www.bulletphysics.org/mediawiki-1.5.8/index.php/Hello_World, 我很困惑下一步去哪里。

hello world tutorial由btStaticPlaneShape和btSphereShape组成,都是刚体。球体在静态平面上反弹没有问题。

但是,当我在另一个位置制作另一个球体时,Bullet不会记录两个球体形状之间的碰撞,但它们会自动反弹离开btStaticPlaneShape。什么样的内部魔法导致btStaticPlaneShape自动弹出与它碰撞的对象?

在Bullet中是否有一个设置可以在碰撞后自动将对象弹离彼此?或者您是否必须手动测试碰撞并自行应用所产生的力量?

谢谢。

回答

0

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

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