2012-06-30 36 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;