2017-08-11 21 views
0

我目前工作的一個論文在德國讀高中。我的主題是弄清楚我們如何通過自動化使交通交叉點更加高效。爲此,我在Unity3D中構建了一個小型模擬器,現在我正在研究這款汽車的腳本和設置。爲了比較多個設置,我想導出一些數據以便使用NumPy和Matplotlib進行分析。但爲此,我必須將數據從Unity中導出。統一出口創造新的.txt文件


現在汽車正在駕駛一些航點,我想獲得汽車達到這些點的時間。 所以現在我只需要保存它們統一之外的格式,所以我可以很容易地將其導入我的jupyter筆記本電腦的內部,以便分析它。 那麼我該如何做到這一點?我知道這可能是一個簡單的問題,但大多數指南是針對遊戲對象或角色的。所以他們爲了一個不同的目的而保存了它。


更新:

感謝您的幫助。我弄明白了,現在它正在寫入一個txt文件。 Code

當我運行腳本時,Unity有可能每次創建一個新的txt文件。我不太確定這是否甚至可能,因爲我再次技術性地啓動整個系統,而且上次沒有任何信息。作爲一個例子,現在它被稱爲data1.txt,下一次我開始代碼時,它現在將它保存到data2.txt中。

這是電流輸出只是一些參考。 Data.txt

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(); 
    } 

} 
+1

化妝使用JSON序列化的 – yes

+0

您可以保存和會話之間的數據訪問使用[PlayerPrefs(https://docs.unity3d.com/ScriptReference/PlayerPrefs.html)。 – OsmanSenol

回答

1

一個簡單的方法將被保存,你需要一個文件的內容:
https://forum.unity3d.com/threads/how-to-write-a-file.8864/
而對於每一次的編碼不同的文件,只是文件名中包含時間戳。

和替代將是使用統一分析:
https://unity3d.com/unity/features/analytics
它配備了一些漂亮的圖表展示你的論文時可能是有用的。

祝你好運!

+0

非常感謝。我將它打印到一個新的txt文件中,並且經過一些麻煩後,它全部正常工作。 –

+0

@ K.Kleinvogel你應該檢查出統一分析,這將有助於你做一些更高級的遊戲 – HelderSepu