C# Unity导出创建新的.txt文件
我目前正在为德国的高中写一篇论文。我的主题是找出我们如何通过自动化使交通路口更加高效。为此,我正在Unity3D中构建一个小型模拟,现在我正在为汽车编写脚本和设置。为了比较多个设置,我想导出一些数据,以便使用NumPy和Matplotlib对其进行分析。但要做到这一点,我必须从Unity导出数据 现在汽车正在通过一些航路点,我想知道汽车到达这些航路点的时间。 所以现在我只需要在Unity之外以一种格式保存它们,这样我就可以轻松地将其导入我的jupyter笔记本中,以便对其进行分析。 那我该怎么做呢?我知道这可能是一个简单的问题,但大多数指南都是针对游戏对象或角色的。所以他们为了另一个目的保存了它 更新: 谢谢你的帮助。我把它修好了,现在它正在写入一个txt文件。 当我运行脚本时,Unity是否有可能每次都创建一个新的txt文件。我不太确定这是否可能,因为我正在重新启动整个系统,并且没有上次的信息。例如,现在它被称为data1.txt,下一次启动代码时,它将保存到data2.txt中 这是电流输出,仅供参考。C# Unity导出创建新的.txt文件,c#,xml,file,unity3d,statistics,C#,Xml,File,Unity3d,Statistics,我目前正在为德国的高中写一篇论文。我的主题是找出我们如何通过自动化使交通路口更加高效。为此,我正在Unity3D中构建一个小型模拟,现在我正在为汽车编写脚本和设置。为了比较多个设置,我想导出一些数据,以便使用NumPy和Matplotlib对其进行分析。但要做到这一点,我必须从Unity导出数据 现在汽车正在通过一些航路点,我想知道汽车到达这些航路点的时间。 所以现在我只需要在Unity之外以一种格式保存它们,这样我就可以轻松地将其导入我的jupyter笔记本中,以便对其进行分析。 那我该怎么做
一种简单的方法是将所需内容保存到文件中: 对于每次编码不同的文件,只需在文件名中包含一个时间戳 另一种选择是使用Unity Analytics: 它附带了一些很好的图表,在展示论文时可能会很有用
祝你好运 使用json序列化您可以在会话之间保存和访问数据。非常感谢。我将它打印到一个新的txt文件中,在遇到一些麻烦后,它可以正常工作。@K.Kleinvogel您应该查看Unity Analytics,它会对您进行更高级的游戏有所帮助
void FixedUpdate()
{
speed = Engine.currentSpeed;
time = Time.time;
node = Engine.node;
xPos = Auto.transform.position.x;
zPos = Auto.transform.position.z;
if (IsRunning == true)
{
StartCoroutine(Wait());
}
}
public IEnumerator Wait()
{
IsRunning = false;
yield return new WaitForSeconds(WaitTimer);
Output();
IsRunning = true;
}
void Output()
{
print("[" + motorTorque + "," + maxSpeed + "," + steerAngle + "," + node + "," + time + "," + speed + "," + xPos + "," + zPos + "]");
StreamWriter writer = File.AppendText(@"C:\Users\kaykl\Documents\Schule\Info\Data\CarControle\data.txt");
writer.WriteLine("[" + motorTorque + "," + maxSpeed + "," + steerAngle + "," + node + "," + time + "," + speed + "," + xPos + "," + zPos + "]");
writer.Close();
if (IsRunning == true)
{
StartCoroutine(Wait());
}
if (node == 0 && cancel == false)
{
cancel = true;
}
else if (node == 0 && cancel == true)
{
writer.Close();
}
}