0

我正在创建 Unity2D 跑步者,其中角色在地面上跑步。我试图通过用正确的矢量施加力来迫使他以恒定的速度奔跑,但运动很不稳定。

我正在尝试以永久速度实现无尽运行的效果。它在空中很容易,但当角色在地面上奔跑时效果不同(由于物理原因)。

4

2 回答 2

1

使用Rigidbody2D.velocity并注意:

如果启用,由于阻力的影响,速度也可以逐渐衰减。

于 2014-04-01T07:04:41.917 回答
1
  1. 您可以加速并确保关闭重力。如果您在地面上跑步,请确保将其关闭。
  2. 您可以实现自己的运动,您可以根据 Time.deltaTime 更新位置。
  3. 只需使用 unity 自带的内置角色控制器即可。基本方向和跳跃。鼠标控制角色面对的位置。

编辑:

  1. 使用刚体速度并关闭重力和阻力。这将使您的跑步者永远奔跑。
  2. 自己实现这一点。您可以在 update 方法中更新对象的位置。就像是

    Vector3 temp = object.transform.position;
    temp.x = speed * Time.deltaTime;
    object.transform.position = temp;
    

    对象是你的跑步者,速度是你希望他移动的速度。这将在更新函数内部。

  3. 如果您不打算控制跑步者,请不要打扰控制器
于 2014-04-01T18:16:35.823 回答