Unity 내에서 얻은 데이터를 CSV로 내보내는 방법
1. 소개
Unity 게임 내에서 얻은 데이터를 csv로 내보내는 방법에 대한 기사를 씁니다.
특히, 두 GameObject의 작업 기록을 csv에 시계열로 내보내는 스크립트를 작성합니다.
2. 준비
2.1. 준비하는 GameObject
준비하는 GameObject는 3개입니다.
2.1. 준비하는 GameObject
준비하는 GameObject는 3개입니다.

2.2. 준비할 스크립트
준비는 스크립트도 3개입니다.

3. 스크립트에 작성
3.1. SampleSaveCsvScrip의 코드 해설
먼저 csv에 저장하는 코드를 SampleSaveCsvScrip에 작성합니다.
3.1.1. void Start()
인용원 사이트①에서 자세하게 해설되고 있습니다.
좀 더 설명하면 새로 csv 파일을 만들고 {} 안의 요소분 csv를 추가하는 코드입니다.
3.1.2. public void SaveData(string txt1, string txt2, string txt3)
"s1"로 작성한 헤더의 수분 "string txt"를 준비하십시오.
「public」을 붙이는 것으로 다른 스크립트에서도 「SaveData(~)」를 사용할 수 있게 됩니다.
기타는 위와 같습니다.
3.1.2. void Update()
Enter 키를 누르면 csv에 대한 쓰기를 종료하는 코드를 작성합니다.
SampleSaveCsvScripusing System.IO;
using System.Text;
public class SampleSaveCsvScript : MonoBehaviour
{
private StreamWriter sw;
void Start()
{
sw = new StreamWriter(@"SaveData.csv", true, Encoding.GetEncoding("Shift_JIS"));
string[] s1 = { "F", "J", "time" };
string s2 = string.Join(",", s1);
sw.WriteLine(s2);
}
public void SaveData(string txt1, string txt2, string txt3)
{
string[] s1 = { txt1, txt2, txt3 };
string s2 = string.Join(",", s1);
sw.WriteLine(s2);
}
void Update()
{
if (Input.GetKeyDown(KeyCode.Return))
{
sw.Close();
}
}
}
3.2. SampleFScript 코드 해설
SampleFScript는 F 키를 감지하는 코드를 설명합니다.
3.2.1. void Start()
인용원 사이트②에서 자세하게 해설되고 있습니다.
철저한 설명을하면 다른 스크립트를 참조하는 코드를 작성합니다.
3.2.2. void Update()
F 키를 누르면 csv에 'F'와 '언제 밀렸는지'라는 정보가 추가됩니다.
SampleFScripusing UnityEngine;
using System.IO;
public class SampleFScript : MonoBehaviour
{
private float time;
private StreamWriter sw;
GameObject SaveCsv;
SampleSaveCsvScript SampleSaveCsvScript;
void Start()
{
SaveCsv = GameObject.Find("SaveCsv");
SampleSaveCsvScript = SaveCsv.GetComponent<SampleSaveCsvScript>();
}
void Update()
{
time += Time.deltaTime;
if (Input.GetKeyDown(KeyCode.F))
{
SampleSaveCsvScript.SaveData("F", " ", time.ToString());
}
}
}
3.3. SampleJScript 코드 해설
SampleJScript는 J 키를 감지하는 코드를 작성합니다.
3.3.1. void Start()
위와 같습니다.
3.2.2. void Update()
J 키를 누르면 csv에 "J"와 "언제 밀렸는지"라는 정보가 추가됩니다.
SampleJScripusing UnityEngine;
using System.IO;
public class SampleFScript : MonoBehaviour
{
private float time;
private StreamWriter sw;
GameObject SaveCsv;
SampleSaveCsvScript SampleSaveCsvScript;
void Start()
{
SaveCsv = GameObject.Find("SaveCsv");
SampleSaveCsvScript = SaveCsv.GetComponent<SampleSaveCsvScript>();
}
void Update()
{
time += Time.deltaTime;
if (Input.GetKeyDown(KeyCode.J))
{
SampleSaveCsvScript.SaveData(" ", "J", time.ToString());
}
}
}
4. 확인
실제로 게임을 움직여 확인을 해봅니다(여기서는 생략).
그러면 아래와 같은 CSV가 나옵니다.

「F」나 「J」 그리고 「언제 밀렸는가」라고 하는 정보가 제대로 써내지고 있는 것을 확인할 수 있다고 생각합니다.
5. 마지막으로
Unity의 게임 내에서 얻은 데이터를 csv에 내보내는 방법에 대해 써 보았습니다 만, 어떻습니까?
이해하기 어려운 점이나 잘못된 점이 있으면 지적해 주시면 감사하겠습니다.
참고 URL
① Unity 2D] 데이터 저장 (외부 파일 CSV)
h tps // 히 gh p 로g 라메 r. 코 m/2017/12/10/우니 ty-사아다타-오테ぇr후아/
② [Unity] 다른 객체에 대한 스크립트의 변수를 참조하거나 함수를 실행합니다.
htps : // 코 m / 츠카사 _ 우아 r_ 파 r r / ms / 09d4bc55f3556b9b3b
Reference
이 문제에 관하여(Unity 내에서 얻은 데이터를 CSV로 내보내는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/TeRa_YUKI/items/16adb50fa3426afda6f5
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
using System.IO;
using System.Text;
public class SampleSaveCsvScript : MonoBehaviour
{
private StreamWriter sw;
void Start()
{
sw = new StreamWriter(@"SaveData.csv", true, Encoding.GetEncoding("Shift_JIS"));
string[] s1 = { "F", "J", "time" };
string s2 = string.Join(",", s1);
sw.WriteLine(s2);
}
public void SaveData(string txt1, string txt2, string txt3)
{
string[] s1 = { txt1, txt2, txt3 };
string s2 = string.Join(",", s1);
sw.WriteLine(s2);
}
void Update()
{
if (Input.GetKeyDown(KeyCode.Return))
{
sw.Close();
}
}
}
using UnityEngine;
using System.IO;
public class SampleFScript : MonoBehaviour
{
private float time;
private StreamWriter sw;
GameObject SaveCsv;
SampleSaveCsvScript SampleSaveCsvScript;
void Start()
{
SaveCsv = GameObject.Find("SaveCsv");
SampleSaveCsvScript = SaveCsv.GetComponent<SampleSaveCsvScript>();
}
void Update()
{
time += Time.deltaTime;
if (Input.GetKeyDown(KeyCode.F))
{
SampleSaveCsvScript.SaveData("F", " ", time.ToString());
}
}
}
using UnityEngine;
using System.IO;
public class SampleFScript : MonoBehaviour
{
private float time;
private StreamWriter sw;
GameObject SaveCsv;
SampleSaveCsvScript SampleSaveCsvScript;
void Start()
{
SaveCsv = GameObject.Find("SaveCsv");
SampleSaveCsvScript = SaveCsv.GetComponent<SampleSaveCsvScript>();
}
void Update()
{
time += Time.deltaTime;
if (Input.GetKeyDown(KeyCode.J))
{
SampleSaveCsvScript.SaveData(" ", "J", time.ToString());
}
}
}
실제로 게임을 움직여 확인을 해봅니다(여기서는 생략).
그러면 아래와 같은 CSV가 나옵니다.

「F」나 「J」 그리고 「언제 밀렸는가」라고 하는 정보가 제대로 써내지고 있는 것을 확인할 수 있다고 생각합니다.
5. 마지막으로
Unity의 게임 내에서 얻은 데이터를 csv에 내보내는 방법에 대해 써 보았습니다 만, 어떻습니까?
이해하기 어려운 점이나 잘못된 점이 있으면 지적해 주시면 감사하겠습니다.
참고 URL
① Unity 2D] 데이터 저장 (외부 파일 CSV)
h tps // 히 gh p 로g 라메 r. 코 m/2017/12/10/우니 ty-사아다타-오테ぇr후아/
② [Unity] 다른 객체에 대한 스크립트의 변수를 참조하거나 함수를 실행합니다.
htps : // 코 m / 츠카사 _ 우아 r_ 파 r r / ms / 09d4bc55f3556b9b3b
Reference
이 문제에 관하여(Unity 내에서 얻은 데이터를 CSV로 내보내는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/TeRa_YUKI/items/16adb50fa3426afda6f5
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
① Unity 2D] 데이터 저장 (외부 파일 CSV)
h tps // 히 gh p 로g 라메 r. 코 m/2017/12/10/우니 ty-사아다타-오테ぇr후아/
② [Unity] 다른 객체에 대한 스크립트의 변수를 참조하거나 함수를 실행합니다.
htps : // 코 m / 츠카사 _ 우아 r_ 파 r r / ms / 09d4bc55f3556b9b3b
Reference
이 문제에 관하여(Unity 내에서 얻은 데이터를 CSV로 내보내는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/TeRa_YUKI/items/16adb50fa3426afda6f5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)