如何加快统一项目的运行速度?

时间:2019-06-04 06:58:52

标签: c# python unity3d

您好,我正在使用自动驾驶仪进行飞行模拟,因此我以统一方式创建了模拟,并在python中创建了自动驾驶仪,但是现在,如果我想训练模型,我需要在一次迭代中等待50个小时以进行训练其中的原因是由于统一渲染了场景(“飞机从(500,500,500)变为(700,500,350)所需的实际时间,所以我需要加快游戏速度。

我只尝试运行代码,但是由于固定的更新,我不知道该怎么办以及它是否可以工作。

我只想知道一种加快统一场面的方法。

1 个答案:

答案 0 :(得分:3)

您可以通过脚本使用其他Time.timeScale

Time.timeScale = 10;

使您的游戏运行速度比实时运行快10倍。

  

如果降低timeScale,建议也将Time.fixedDeltaTime降低相同的数量。

因此在示例中,仅在第一行之后也添加

Time.fixedDeltaTime = 0.02f * Time.timeScale;

我只会在类似

的组件中执行此操作
public class TimeScaler : MonoBehaviour
{
    // adjust in Inspector
    public float initialTimeScale = 1.0f;

    private void Start()
    {
        SetTimeScale(initialTimeScale);
    }

    // Can now also be called rom other scripts
    public void SetTimeScale(float scale)
    {
        Time.timeScale = scale;
        Time.fixedDeltaTime = 0.02f * Time.timeScale;
    }
}

这样,您可以简单地通过检查器调整比例,或者以后再通过其他脚本重用组件(例如,想要在特定时刻前后更改timeScale。