以不同的速度移动物体
本文关键字:移动 速度 | 更新日期: 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
添加到你的翻译计算中是很重要的,否则你的实际速度会因机器而异。
https://docs.unity3d.com/ScriptReference/Time-deltaTime.html如果你每帧都要加或减一个值,你应该用Time.deltaTime乘以。当你乘以Time.deltaTime时,你实际上表示:我想让这个物体每秒移动10米,而不是每帧移动10米。