2016-05-31 4 views
0

Unity3Dでは、テキストファイルから位置データをロードします。次に、テキストファイルの例を示します。これらはシミュレーション結果です。シミュレーションプログラムは1秒間に30個のデータを生成します。だから、結果をリアルタイムで視覚化したい。内容はx、y、zの位置です。Unity3dでは、.txtファイルから位置データを連続的に読み取る方法はありますか?

data_01.txt

1 -5 -10

DATA_ 02.txt

data_03.txt

。 ..............

すべてのファイルは1行で構成されています。

これらのデータをオブジェクトに入力したいと思います。

テキストファイルを1秒間に30個のテキストファイルに読み込みたいとします。

私は最初のテキストファイルを読み込むコードを書いています。 しかし、テキストファイルを連続的に読むことについて助言が必要です。私はフレームごとに1つのテキストファイルを読んでみたい。

using UnityEngine; 
using System.Collections; 
using System; 
using System.IO; 

public class parsing : MonoBehaviour { 

    public string fileName = "Data_01.txt" 

    // Use this for initialization 
    void Start() { 

    } 

    // Update is called once per frame 
    void Update() { 

     if (!File.Exists(fileName)) 
     { 
      Debug.Log(fileName + "does not exist."); 
      return; 
     } 

     using (StreamReader sr = File.OpenText(fileName)) 
     { 
      String fileData; 
      fileData = sr.ReadToEnd(); 
      sr.Close(); 

      Debug.Log("Data Read: " + fileData); 

     } 

    } 
} 
+0

私はここ数日前に尋ねられたほぼ同じ質問を見たと思う:) –

+0

同じ質問を何度も繰り返さないでください。追加する情報、元の質問を親切に編集します。質問を少し修正したものを新しいものとして再掲載しないでください。 – Serlite

+0

注:以前の質問からこの質問が大幅に変更されたと思われる場合は、どうか説明してください。どのような新しいことを試みたのか、現在どのような問題が生じているのかを説明してください。 – Serlite

答えて

1

テキストファイルを使用して連続データを転送することは、かなり悪いアイデア/アプローチです。

(例えば)tcp接続を使用し、.Nets 'System.Net.Sockets(より正確にはTcpListenerTcpClient)を使用してシミュレーションデータを1に送信するほうが良いです。

参照:https://msdn.microsoft.com/en-us/library/system.net.sockets(v=vs.110).aspx

(あなたのアプローチに固執する場合は、各Update()を読み取るために、テキストファイルの名前を知っている必要がありますあなたはカウンタ変数を使用することができます(たとえばカウンターという名前を付けます)。これは、それぞれUpdate()にインクリメントされます。つまり、string filename = "data_" + counter.ToString("D2") + ".txt"のような現在のテキストファイル名を貼り付けることができます(カウンタの値が1桁だけの場合は、先頭のゼロを追加します)。

関連する問題