質問
Box2D(重要な場合はAS3 / Flashバージョン)を使用しており、各ボディの重量を計算しようとしています。
すべてのボディを反復処理する方法、およびコリオン検出ルーチンをポーリングする方法は知っていますが、重みが適用されると衝突力はゼロになります。ある種の「総静的力」がありますか?見下ろしているプロパティ
解決
オプションのcontactListenerオブジェクトでcontactResultタイプを使用すると、各アイテムのnormalForceをポーリングして、オブジェクトに適用されている力(本質的に重量を含む)を調べることができます。
睡眠中の体(たとえば、静止スタック)はcontactResultsをトリガーしませんが、睡眠をオフにしたり、動きが起こっている間だけ力を測定したい場合は正常に動作することに注意してください。
contactListenerクラスを実装する方法については、ドキュメントを参照してください。
他のヒント
Box2Dでプレイしてからしばらく経ちましたが、ポーリングを試みました関心のあるものについてGetReactionForce()?
ブリッジシミュレーションを作成し、その重みに基づいてブリッジを破損させたいときに、 GetReactionForce()特定のしきい値を超えている場合、2つのボディを接続するジョイントを削除しました。
b2Bodyインスタンスをループして、 GetMass ()メソッド。
「総静的力」の意味がわかりません。
重量/質量に関しては、衝突の前に、ボディを作成するときに適用すると思います。 setMass を使用して自分で設定するか、 ();または、 SetMassFromShapes ()メソッド。
hth