c# - 如何加快统一项目的运行?
问题描述
您好,我正在使用自动驾驶仪进行飞行模拟,所以我在统一中创建了模拟,并在 python 中创建了自动驾驶仪,但是现在如果我想训练模型,我需要在一次迭代中等待 50 小时的训练过程,所有这些都是由于统一渲染场景(“飞机从(500,500,500)到(700,500,350)所需的实际时间,所以我需要加快游戏速度。
我尝试只运行代码,但我不知道该怎么做,以及它是否会因为固定更新而工作。
我只想知道一种加快统一场景的方法。
解决方案
您可以使用不同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;
}
}
这样,您可以简单地通过 Inspector 调整比例,或者如果您想在某些时刻来回更改 timeScale,也可以稍后从其他脚本中重新使用该组件。
推荐阅读
- windows - 有没有办法将整个文件类与 Windows 上的应用程序相关联?
- javascript - 将 ID 与输入元素相关联
- html - 如何在 ContentTools 所见即所得 JavaScript 编辑器中编辑嵌套 HTML
- sql-server - 如果子查询中有一个表与外部查询中的同一个表具有相同的别名,会发生什么?
- excel - SUMIFS 没有选择多个标准
- python-3.x - Chrome 不会在 ubuntu 上的 selenium python 中无头
- excel - VBA 将数据导出到 CSV 文件(仅值)
- docker - 通过 docker 在 VS Code 中混合调试(C#、C++)
- scala - Scala:更新地图内的数组
- python - 如何将 pypi 设置为受信任?