Unity - CSV Serializer:CSVファイルを読み込む -
初めに
Excelでまとめたテキストデータやステータスをそのまま Unity に読み込みたい場合、CSVファイルにしてデータを読み込むことができます。本記事は、CSVファイルを読み込むために使われるアセット「CSV Serializer」についての記事になります。
Index
CSV Serializer
CSVSerializer.Deserialize:データを流し込む
CSVファイルのデータを流しこむために必要なものは次の通りです。
[System.Serializable]属性をつけたクラス
[System.Serializable] public class CharaData { public string name; public int Hp; public int Power; }
データを流し込む処理が書かれたスクリプト
using System.Collections; using System.Collections.Generic; using UnityEngine; public class csvTestScript : MonoBehaviour { public CharaData[] charaData; void Start() { // テキストファイルの読み込みを行ってくれるクラス TextAsset textasset = new TextAsset(); // 先ほど用意したcsvファイルを読み込ませる。 // ファイルは「Resources」フォルダを作り、そこに入れておくこと。また"CSVTestData"の部分はファイル名に合わせて変更する。 textasset = Resources.Load("CSVTestData", typeof(TextAsset)) as TextAsset; // CSVSerializerを用いてcsvファイルを配列に流し込む。 charaData = CSVSerializer.Deserialize<CharaData>(textasset.text); } }
データが書かれたCSVファイル
GameObject にスクリプトをつけ、実行してみます。
(実行結果)
参考
最後に
本記事では CSVファイルを読み込むところまでまとめました。ここから読み込んだデータをオブジェクトに流し込み、ScriptableObject と呼ばれるものをつくることができます。それについては、後日記事にします。