2012-01-23 67 views
5

我有一大陣素,一個我的世界。玩家/敵人在這個網格中。我不知道如何去做這種類型的碰撞檢測。請注意,這不是動態可移動對象與動態可移動對象,這是可移動對象對固定地面/牆壁/天花板。玩家與體素碰撞檢測/反應

我沒有檢測的問題,其反應,我不知道該怎麼辦。

我必須使用的:玩家位置,速度和邊界框,以及圍繞玩家的1x1x1體素數組。

+1

你可能有更多的運氣,要求在http://gamedev.stackexchange。 com/ – Holger

+0

我是否允許在這裏將其粘貼到一個新的問題中? – khyperia

+0

@khyperia:我已經標記過它將被一個mod遷移。 –

回答

6
  • 計算玩家的速度點積碰撞體素的unitsurface normal(指向外側)。
  • 通過此值對單位表面法線進行縮放(乘)。
  • 從玩家的速度中減去結果。

這會給你的「靠着牆滑」的效果,大部分的遊戲使用(沒有任何問題三角)

+0

怎麼知道玩家應該去哪個方向,哪個表面平面是玩家相交的IE?頂部,側面,什麼? – khyperia

+0

如果您在確定時遇到問題,我建議發佈一個新問題。有些人可能能夠發佈比我更好的答案。 –

+2

此外,如果您也有不同的乘數,則在點積上,體素中的每種材質上,則現在您正在模擬摩擦,並且可以有更多的滑動或更粗糙的塊。 –