繁体   English   中英

如何加速无尽的跑步者

[英]How to speed up endless runner

我已经使用过 Unity2D,但这是第一次在 Unity3D 中创建项目。 我正在为我的投资组合制作无尽的跑步者,但不知道如何计算游戏的最佳速度。 是否有一个速度公式或类似的东西总是可以轻松开始游戏,但会变得越来越困难,永远不会变得不可能。

有两个普遍接受的加速游戏的答案:

  1. 使用可变速度参数构建您的游戏逻辑,并将其包含在您的控制器和游戏逻辑脚本中。 这种方法的好处是它允许您准确地控制您想要加速的和您不想加速的。 缺点是您需要修改所有脚本才能使用 speedMultiplier:

     vector3 direction; float speed = 1.0f; Update() { direction = //Set direction using inputs } FixedUpdate() { rigidbody.velocity = direction * speed }
  2. 修改 Time.timeScale。 Time.timeScale 是所有依赖于 deltaTime 的内置乘法器 如果您设置 Time.timeScale = 2.0f,您的游戏将执行逻辑,就好像已经过去了两倍的时间。 这包括动画、物理和任何其他基于时间的游戏逻辑)。 如果您设置 Time.timeScale = 0.0f,您的游戏将暂停。 如果您只想加快速度,这将非常有用。

     time.timeScale = multiplier;

    人们在使用 time.timeScale 时遇到的一个常见问题是,由于时间尺度扭曲,他们的动画感觉不连贯。 您可以将动画师的更新模式指定为Unscaled Time以保持动画以恒定速度运行,无论时间尺度如何,以防止这种情况发生。

看看对函数。

在此计算器上键入“y = 10log a”以查看值范围。

这将在远离极限时更快地提高你的速度,一旦接近极限就会变慢。

在“y = 10log a”的情况下

  • 如果 a = 1,则 y = 0
  • 如果 a = 10,则 y = 10
  • 如果 a = 100,则 y = 20
  • 等等。

所以它没有上限,但你可以强加它在 100 或 1000 处停止,它起初很容易增加速度,但速度越快加速越慢

简而言之,“a”越高,“y”移动越慢。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM