2016-05-31 4 views
0

Unity3D에서 텍스트 파일에서 위치 데이터를로드하려고합니다. 다음은 텍스트 파일의 예입니다. 이것은 시뮬레이션 결과입니다. 시뮬레이션 프로그램은 초당 30 개의 데이터를 생성합니다. 그래서 실시간으로 결과를 시각화하고 싶습니다. 내용은 x, y, z 위치입니다.Unity3d에서 어떻게 .txt 파일에서 위치 데이터를 계속 읽을 수 있습니까?

data_01.txt

1 -5 -10

data_ 02.txt

2 2~5

data_03.txt

3 2 4

. ..............

모든 파일은 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).

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

(당신이 당신의 접근 방식에 충실하려는 경우, 당신은 텍스트 파일의 이름이 각 Update()을 읽어 알고 있어야합니다 당신은 (카운터 변수를 사용하여 카운터 예를 들어 그 이름을 수있다). (ToString("D2")은 카운터의 값이 한 자릿수 일 경우 앞에 0을 추가합니다. 예를 들어, 1 -> "01")

관련 문제