2009-05-28 261 views
0

我有一個球在一個立方體內移動,我檢測它何時離開立方體(帶有一個邊界球和一個邊界框)。 現在我想檢測球從哪一側出去。然後我可以將球重定向到正確的方向。我怎麼能用球的「世界」矩陣來做到這一點?XNA碰撞檢測

我應該自己跟蹤球的座標,還是應該從世界矩陣中推導出它們?

回答

2

我會重新開始碰撞。你有六個平面(每一個[point,normal unit vector]對)和一個球體([point,radius] pair)。

檢查對每架飛機的點。要做到這一點,從點上減去平面上球體半徑放大的單位矢量。 (Point - = PlaneUnitVector * radius)

現在,用一些向量數學,你可以看到它所在的平面的哪一側。

然後,您將使用飛機的單位矢量進行反彈計算。

接下來的問題是您一次穿越多個飛機的情況。