以不同的速度移动物体

本文关键字:移动 速度 | 更新日期: 2023-09-27 18:06:45

我有一个一直向上的对象。我希望我的物体一开始以一定的速度上升,然后以另一个速度上升(比如,5秒后)。我只是使用

transform.Translate (Vector3.up * speed, Space.World);

但是它总是以相同的速度上升这是我不想要的

以不同的速度移动物体

你可以在5秒后改变速度。

你的类看起来像这样:

public IEnumerator Start() {
    yield return new WaitForSeconds(5);
    speed *= 2;
}
public void Update() {
    transform.Translate(Vector3.up * speed * Time.deltaTime, Space.World);
}

* Time.deltaTime添加到你的翻译计算中是很重要的,否则你的实际速度会因机器而异。

如果你每帧都要加或减一个值,你应该用Time.deltaTime乘以。当你乘以Time.deltaTime时,你实际上表示:我想让这个物体每秒移动10米,而不是每帧移动10米。

https://docs.unity3d.com/ScriptReference/Time-deltaTime.html