2017-04-30 124 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

谢谢。我目前无法测试,但当我在大约五个小时后回家时,我会检查这一点。 –