阻止 btKinematicCharacterController 滑下斜坡
Stop a btKinematicCharacterController from sliding down slopes
我不确定这是否是 post 的正确论坛;我在考虑游戏开发网站。
我正在 LibGDX (Java) 中开发一款游戏,我已经设置了 btKinematicCharacterController
来控制玩家。这处理了跳跃、行走和其他一切。
但是,我遇到了一个问题。想象角色站在斜坡上——即使是非常缓的斜坡。角色会慢慢滑下斜坡,这对我的游戏目的来说非常烦人(而且,我想,大多数。)这是因为如果玩家只想站在斜坡上,他们不能。
我认为发生这种情况是因为碰撞检测分辨率。玩家可能会非常轻微地从地板上掉下来,并且由于它在斜坡上,然后会沿着斜坡的法线被推出 。 这意味着,简单地说,他们会被推出顺着咯。
我的实际玩家模型是一个胶囊,btKinematicCharacterController
我使用了一个幽灵对象。
那么我怎样才能确保我的角色不会从斜坡上滑下来呢?当然,它还需要有物理特性,这样它才能跳跃,并与其他物体碰撞。
一种流行的方法是disable gravity when there are >=1 platforms under the character's foot。
可以通过以下方式完成:-
- 传感器(
setSensor(true)
+ 碰撞回调)
有关碰撞回调的更多信息:http://www.bulletphysics.org/mediawiki-1.5.8/index.php/Collision_Callbacks_and_Triggers
- 光线测试:http://bulletphysics.org/mediawiki-1.5.8/index.php/Using_RayTest
另一种方法是 hard code it(link 进行简短讨论 - 2D Metroid 相关),但这是一项艰巨的工作,并且在很大程度上取决于舞台设计。
This video 可能会有帮助。它是 Unity,与 Bullet 无关,但似乎适用。
我对这个问题也很感兴趣。不能解决的请不要采纳
To reader,如果有更好的答案,欢迎交流。
我不确定这是否是 post 的正确论坛;我在考虑游戏开发网站。
我正在 LibGDX (Java) 中开发一款游戏,我已经设置了 btKinematicCharacterController
来控制玩家。这处理了跳跃、行走和其他一切。
但是,我遇到了一个问题。想象角色站在斜坡上——即使是非常缓的斜坡。角色会慢慢滑下斜坡,这对我的游戏目的来说非常烦人(而且,我想,大多数。)这是因为如果玩家只想站在斜坡上,他们不能。
我认为发生这种情况是因为碰撞检测分辨率。玩家可能会非常轻微地从地板上掉下来,并且由于它在斜坡上,然后会沿着斜坡的法线被推出 。 这意味着,简单地说,他们会被推出顺着咯。
我的实际玩家模型是一个胶囊,btKinematicCharacterController
我使用了一个幽灵对象。
那么我怎样才能确保我的角色不会从斜坡上滑下来呢?当然,它还需要有物理特性,这样它才能跳跃,并与其他物体碰撞。
一种流行的方法是disable gravity when there are >=1 platforms under the character's foot。
可以通过以下方式完成:-
- 传感器(
setSensor(true)
+ 碰撞回调)
有关碰撞回调的更多信息:http://www.bulletphysics.org/mediawiki-1.5.8/index.php/Collision_Callbacks_and_Triggers - 光线测试:http://bulletphysics.org/mediawiki-1.5.8/index.php/Using_RayTest
另一种方法是 hard code it(link 进行简短讨论 - 2D Metroid 相关),但这是一项艰巨的工作,并且在很大程度上取决于舞台设计。
This video 可能会有帮助。它是 Unity,与 Bullet 无关,但似乎适用。
我对这个问题也很感兴趣。不能解决的请不要采纳
To reader,如果有更好的答案,欢迎交流。