2012-06-30 38 views
1

如果我给不同的密度/质量,它们仍然以相同的速度下降。我知道在没有空气阻力的地方,质量不会影响下降速度。Box2D有重力影响不同的质量

但是接下来,我如何逻辑地制造出一个气球和一块砖,以不同的速度坠落?我能想到的最接近的方式是使用setGravityScale来设置这一切..

回答

2

一个选项是禁用重力并自己应用您想要的每个帧的加速度。这就是我在比赛中所走的路线。 Box2d的内置重力对于快速模拟是可行的,但它不是非常可定制的。

一旦禁用重力,您必须决定应用于对象的加速公式。有几种不同的流体阻力模型(查看维基百科),因此您必须尝试并选择看起来最好的模型。

6

在box2d中模拟空气减速效果的最佳方法是使用“阻尼”。

见:http://www.box2d.org/manual.html

“阻尼用于减少机构的世界速度阻尼比摩擦不同,因为摩擦仅发生接触阻尼不是摩擦的替代品,这两个作用,应同时使用。 “。 “

”阻尼参数应该在0到无限之间,0表示没有阻尼,而无穷远表示完全阻尼。通常情况下,您将使用0到0.1之间的阻尼值。我通常不使用线性阻尼,因为它使得车身看起来轻飘“。

bodyDef.linearDamping = 0.0f;

bodyDef.angularDamping = 0.01f;