如果我给不同的密度/质量,它们仍然以相同的速度下降。我知道在没有空气阻力的地方,质量不会影响下降速度。Box2D有重力影响不同的质量
但是接下来,我如何逻辑地制造出一个气球和一块砖,以不同的速度坠落?我能想到的最接近的方式是使用setGravityScale来设置这一切..
如果我给不同的密度/质量,它们仍然以相同的速度下降。我知道在没有空气阻力的地方,质量不会影响下降速度。Box2D有重力影响不同的质量
但是接下来,我如何逻辑地制造出一个气球和一块砖,以不同的速度坠落?我能想到的最接近的方式是使用setGravityScale来设置这一切..
一个选项是禁用重力并自己应用您想要的每个帧的加速度。这就是我在比赛中所走的路线。 Box2d的内置重力对于快速模拟是可行的,但它不是非常可定制的。
一旦禁用重力,您必须决定应用于对象的加速公式。有几种不同的流体阻力模型(查看维基百科),因此您必须尝试并选择看起来最好的模型。
在box2d中模拟空气减速效果的最佳方法是使用“阻尼”。
见:http://www.box2d.org/manual.html
“阻尼用于减少机构的世界速度阻尼比摩擦不同,因为摩擦仅发生接触阻尼不是摩擦的替代品,这两个作用,应同时使用。 “。 “
”阻尼参数应该在0到无限之间,0表示没有阻尼,而无穷远表示完全阻尼。通常情况下,您将使用0到0.1之间的阻尼值。我通常不使用线性阻尼,因为它使得车身看起来轻飘“。
bodyDef.linearDamping = 0.0f;
bodyDef.angularDamping = 0.01f;