阻止btKinematicCharacterController滑下斜坡

时间:2017-04-30 15:02:30

标签: java libgdx game-engine game-physics bullet

我不确定这是否是发布此内容的正确论坛;我正在考虑游戏开发网站。

我正在使用LibGDX(Java)开发游戏,我设置了一个btKinematicCharacterController来控制播放器。这可以处理跳跃,行走等一切。

然而,我遇到了一个问题。想象一下,角色正站在斜坡上 - 即使是非常渐进的斜坡。角色会慢慢滑下斜坡,这对我的游戏来说非常烦人(而且,我想,最多。)这是因为如果玩家想要站在斜坡上,他们就不能。

我认为这是因为碰撞检测分辨率而发生的。玩家可能会轻微地跌落在地板上,因为它在斜坡上,然后沿斜坡的法线推出这意味着,简单地说,它们会被轻微推动。

我的实际玩家模型是一个胶囊,我使用幽灵对象作为btKinematicCharacterController

那么我怎样才能确保我的角色不会滑下斜坡?当然,它仍然需要物理,以便它可以跳跃,并与其他物体碰撞。

1 个答案:

答案 0 :(得分:2)

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

可以通过以下方式完成: -

另一种方法是hard code it(链接到一个简短的讨论 - 2D Metroid相关),但这是一项艰苦的工作,并且在很大程度上依赖于舞台设计。

This video可能有所帮助。它是Unity,与Bullet无关,但似乎适用。

我对这个问题也很感兴趣。如果不解决,请不要接受 对读者来说,如果有更好的答案,请随时分享。