【Unity】 ファイルをバイナリとして扱う方法

ファイルをバイナリのデータとして扱う方法。

Unityでは自前でデータを持った時などに、それをどうやってロードするのかというところで
つまづく人も多分いると思う。

例えば圧縮されたファイルを作ったとしても、それをどうアプリに含めるのかで迷うはずだ。
Resourcesディレクトリに放り込んで、Resources.Loadで読むにしても、
プレハブ等のそもそもUnityで扱える形式にしておく必要がある為、ロード出来ない。


そこで、UnityにはTextAssetというクラスがある。

これを使うとデータが生の状態でロード出来る。(本来の用途とは違うが...)
そのファイルをTextAssetとして扱うのだ。

使い方は簡単。

①まずファイルの拡張子を「.bytes」にしてResourcesディレクトリ以下に置く。

②Resources.Loadでそのファイル名を指定してロード、TextAsset型にキャストする(インスタンスAとする)

③A.bytesにそのデータのバイト配列が入っている



②のコードのサンプル。
    // Start
void Start()
{
TextAsset text_asset = Resources.Load( "test_file" ) as TextAsset;
byte[] raw_data = text_asset.bytes;

Debug.Log( "file_size : " + raw_data.Length );
}


この方法でアプリにデータとして初めから含む事も出来る。

おそらく用途的に独自フォーマットの圧縮データをアプリ内で使いたい時とかに有効・・・かも。

[ 2013年10月14日 13:01:19 : Unity ]

カレンダー

プルダウン 降順 昇順 年別

06月 | 2020年07月 | 08月
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 -


全記事表示リンク

全ての記事を表示する

検索フォーム

リンク