2012-02-10 57 views
1

我需要從兩個碰撞物體中的一個獲得矢量以將它應用到別處。Box2d衝擊力矢量

正如我在例子和很多google-fu中看到的,只有強度計算,而不是矢量。我可以得到impulse->normalImpulses[0]impulse->tangentImpulses[0]

而PostSolve b2ContactImpulse保持奇怪的浮動(衝動是一個向量AFAIR)。

我真的很困惑,請幫忙!

回答

2

normalImpulse是用於在碰撞時將兩個物體推開的糾正衝量的大小。這是接觸正常的方向。

tangentImpulse是應用於模擬兩個碰撞夾具之間摩擦的衝量的大小,這與接觸法線垂直。

您可以將它們放在一起以獲得應用的整體衝動。我不確定與法線相切的正切面,但在2D中只有兩種可能性。

+0

不知道我明白你在談論哪些可能性。 – maaboo 2012-02-13 08:02:15

+0

如果你在2d中有一條線,例如(x,y),那麼只有兩個可能的方向可能與其相切:(-y,x)或(y,-x) – iforce2d 2012-02-13 08:11:49

0

在AS3版本,Box2D的有一個重要的事情
當他們在接觸你水溼,與你的身體任何東西;
做你的工作人員重寫EndContact()方法。 你可以谷歌爲例,希望它會有所幫助。