私は体の質量が10であり、プログラムの各サイクルは単純なアプローチで100の力を適用します。Box2Dボディベロシティキャップ?
Vector2 force = new Vector2(0, 1) * 100;
bod.ApplyForce(force, bod.GetWorldCenter());
それは、素晴らしい作品加速し、そのすべてが、それは(私は仮定10分の100)10の速度に到達したら、それはどんなより速く行くことはありません。私は物理学者ではありませんが、体は重力のように絶え間なく加速しなければならないことを思い出しています。この速度制限は、Box2Dが何かを行う方法の結果であるのでしょうか?また、私はそれを修正するために何をしますか?
注:私は(b2Settings.h中)BOX2Dによって課される全体的な最大速度制限をよく承知しています:私はApplyLinearImpulse代わりのApplyForce
Updateを使用している場合が、私は同じ制限された速度を取得します。私の例では、問題のアイテムは、1000または10000が常に(力/質量)の最大速度に近づくかどうかにかかわらず、適用された力を変更するときにこの限界をかなり下回っています。
これは適切な回答ではありませんが、全体の規模を小さくする必要があります。このように、あなたはより小さな力を適用することができますし、いくつかの力の限界によって立ち往生することはありません。 Box2dは、あなたが大きすぎる規模で作業していると、しばしば好きではありません。 – phemios
スケールは問題ありません。オブジェクトは10kgの質量を持ち、100Nsの力を加えています。上限速度は10m/sであり、これはBox2Dのスケール範囲の途中です。 –
線形減衰をチェックしましたか? – Davos555