2009-07-09 57 views
2

我想做一個簡單的3d平臺遊戲。我遇到的問題是碰撞檢測和響應。我目前正在用球體代表我的球員角色(用於牆壁和地板碰撞)。3D平臺遊戲中玩家角色的良好碰撞表現?

我使用簡單的重力和方向力使用箭頭鍵移動。

當我來到邊緣(如懸崖)時,會出現我的問題。我會像球一樣滑過邊緣,但我所尋找的行爲是像一個直立的圓柱體一樣從邊緣掉下來。布爾型「我在平臺上,或者我不在平臺上」,而不是「我正在逐漸滑落」。

使用立式氣缸的問題是自動上升樓梯變得不可能,當沿着任何類型的斜坡行走時,氣缸必須僅接觸一個邊緣,或者部分嵌入斜面。

什麼是3D平臺遊戲中玩家角色的良好碰撞表現?

回答

1

您可以保留碰撞檢測的球體。

如果你發現碰撞,那麼你應該更準確地計算碰撞,通過將你的角色分成幾個部分。

一個常見的解決方案是使用球體(因爲碰撞很容易計算)頭部,軀幹和腿部和手臂的圓柱體(您也可以爲手和腳增加球體)。

您是否可以閱讀this book

1

嘗試一個扁橢球。只需沿垂直軸伸展球體即可。

0

這聽起來像你理想的解決方案將是一個圓形邊緣直立圓柱體。它仍然會傾斜直線邊緣,但圓角邊緣可以讓您向上滑動樓梯。您可能需要使用舍入半徑才能獲得所需的效果。