我有一個質量爲10的物體,並且每個程序循環使用簡單的方法向其施加100的力;Box2D體速帽?
Vector2 force = new Vector2(0, 1) * 100;
bod.ApplyForce(force, bod.GetWorldCenter());
它的偉大工程,加快和所有的,但一旦它到達10的速度(十分之百我假設),它不會去任何更快。我不是一個物理學家,但我記得,身體應該不斷地加速,就像在重力下一樣。這個速度限制是Box2D做事情的結果嗎,還是我大肆搞砸?另外,我該如何解決它。
注:我得到同樣的速度有限,如果我使用的,而不是ApplyForce
ApplyLinearImpulse更新:我深知由Box2D的(在b2Settings.h)施加於整體最大速度極限。在我的例子中,有問題的項目正在遠遠低於這個極限,因爲改變了應用的力量,1000或10000總是會達到(力/質量)的最大速度。
這不是一個正確的答案,但也許你應該使用較小的總體規模。就像這樣,你可以使用較小的力量,然後不會被某些力量限制卡住。當你的工作規模過大時,Box2d經常不喜歡。 – phemios 2013-03-09 18:07:48
規模很好。一個物體質量爲10kg,我正在施加100N的力量。封頂速度達到10米/秒,這是Box2D的比例範圍。 – 2013-03-10 01:55:55
你檢查過線性衰減了嗎? – Davos555 2013-03-14 11:47:44