2012-02-10 14 views
1

2つの衝突するボディのうちの1つからベクターを取得して、別の場所に適用する必要があります。Box2d衝撃力ベクトル

私は例と多くのgoogle-fuに見られるように、強さの計算だけがベクトルではありません。

私はimpulse->normalImpulses[0]impulse->tangentImpulses[0]しか得られません。

そして、PostSolveのb2ContactImpulseは異常な浮動小数点を保持します(インパルスはベクトルAFAIRです)。

私は本当に混乱しています。助けてください!

答えて

2

normalImpulseは、衝突したときに2つのボディを押し離すために適用される補正インパルスの大きさです。これは接触法線方向です。

タンジェントインパルスは、衝突する2つの固定具間の摩擦をシミュレートするために適用されるインパルスの大きさであり、これは接触法線に対して垂直です。

これらを組み合わせて、全体のインパルスを適用することができます。私は接線が法線とどのように向き合っているのかはわかりませんが、2Dでは2つの可能性しかありません。 AS3版で

+0

私はあなたが話している可能性を理解しているかどうかはわかりません。 – maaboo

+0

たとえば、(x、y)のように2dに直線がある場合、(-y、x)または(y、-x)の接線になる可能性のある方向は2つだけです。 – iforce2d

0

、BOX2Dは1 重要なことがあります。
彼らが接触しているとき、あなたはあなたの体に何かを望めないし。
スタッフがEndContact()メソッドをオーバーライドしていますか。 Googleでは例を挙げることができます

関連する問題