2017-04-30 71 views
1

我不確定這是否是正確的論壇發佈此;我正在考慮遊戲開發網站。阻止btKinematicCharacterController向下滑動

我正在LibGDX(Java)開發遊戲,並且我設置了一個btKinematicCharacterController來控制玩家。這可以處理跳躍,走路和其他事情。

但是,我遇到了一個問題。想象一下,角色站在一個斜坡上 - 即使是非常漸進的角色。角色會慢慢滑下斜坡,這對我的遊戲來說非常煩人(而且,我想大多數情況下)。這是因爲如果玩家想站在斜坡上,他們不能。

我認爲這是由於碰撞檢測解決方案。玩家可能會輕微地落在地板上,因爲它在斜坡上,所以會沿着法線的法線推出這意味着,只是,他們會被輕微推。

我的實際玩家模型是一個膠囊,我使用一個鬼物體作爲btKinematicCharacterController

那麼我怎樣才能確保我的角色不會滑倒斜坡?當然,它仍然需要物理,以便它可以跳躍,並與其他物體相撞。

回答

2

其中一種流行的方法是disable gravity when there are >=1 platforms under the character's foot

另一種方法是 - :

可以通過做到hard code it(鏈接到一個簡短的討論 - 2D Metroid相關),但它是一項艱苦的工作,並嚴重依賴舞臺設計。

This video可能會有所幫助。它是Unity,與Bullet無關,但似乎適用。

我對這個問題也很感興趣。如果沒有解決,請不要接受。
給讀者,如果有更好的答案,隨時分享。

+0

你碰巧知道調用了什麼'setSensor(true)'? –

+0

@Jacob Garby我非常確定:在角色下附加一個新的形狀/身體。 ....與http://www.iforce2d.net/b2dtut/jumpability相同的概念,請在此圖片周圍尋找內容http://www.iforce2d.net/image/jumpability-player-body.png。 (這是Box2D鏈接,但適用。) – javaLover

+0

謝謝。我目前無法測試,但當我在大約五個小時後回家時,我會檢查這一點。 –