0

我想要的是...

目标是制作一个无尽的跑步游戏,玩家必须通过跳跃来避免障碍和陷阱。为了做到这一点,不能允许角色水平移动,因为地面对象会处理这一点。当玩家跳跃时,唯一允许的移动将在 y 轴(垂直)上。同样为了实现这一点,我需要否定在游戏过程中身体可能发生的任何旋转。不确定是否有办法为旋转设置某种阻尼器或什么,但这就是我问的原因。

问题:

  • 如何取消沿 x 轴对身体进行的任何移动/平移?

  • 如何取消对身体进行的任何旋转?

(注意:我没有尝试过任何东西,因为我不知道从哪里开始,而且我是花栗鼠场景的新手)

4

1 回答 1

1

创建具有无限惯性矩的实体,使其不可旋转。

至于让环境而不是玩家移动,这有点奇怪,但它会正常工作。你有几个选择,但它们都有点奇怪。您可以设置玩家形状的表面速度以匹配地面速度。然后摩擦力将它固定在适当的位置,直到有东西撞击它并将它向后推。当您清除障碍物时,摩擦将再次停止它的 x 速度。如果你设置了地面的表面速度,那么你也不需要移动它,只需要玩家必须清除的障碍物。

听起来你实际上并不想要物理。大多数跑步游戏只需要简单的 AABB 之间的碰撞,你可以用几十行代码更容易地做到这一点。

于 2013-04-30T18:42:00.553 回答