Text Asset は、インポートされたテキストファイルのための形式です。プロジェクトフォルダーにテキストをドロップすると、テキストアセットに変換されます。以下のファイル形式がサポートされています。
スクリプトファイルも AssetDatabase.FindAssets を使用するときにテキストアセットとみなされます。なので “t:TextAsset” フィルターを使用した検索結果でもスクリプトファイルが含まれます。
プロパティー: | 説明: |
---|---|
Text | 1 つの文字列としての、アセットの完全なテキスト。 |
テキストアセットは、非常に特殊な使用事例です。ゲームの作成中に、別のテキストからのテキストをゲーム内に挿入するのに非常に便利です。簡単な .txt ファイルを記述し、テキストをゲーム内に簡単に挿入できます。Unity ではランタイムでテキストファイルの生成ができないので、従来の入出力プログラミング技術を使用して、外部ファイルを読み書きする必要があります。
以下の 2 つのシナリオを考えてください。あなたは、従来のテキストの多いアドベンチャーゲームを作成しています。制作を簡単にするため、ゲームのテキストをすべて別々の部屋に分割したいと思っています。この場合、1 つの部屋で使用されるすべてのテキストを含む 1 つのテキストファイルを作成します。そこから、入る部屋に対して正しいテキストアセットを参照するのは簡単です。次に、カスタマイズされた構文解析ロジックで、大量のテキストを非常に簡単に管理できます。
テキストアセットの特殊機能は、テキストアセットはバイナリデータを格納できるということです。ファイルに拡張子 .bytes を与えると、テキストアセットとしてロードされ、bytes プロパティーを通じてアクセスできます。
例えば、jpeg ファイルを Resources フォルダーに入れ、拡張子を .bytes に変え、次のスクリプトコードを使用して、ランタイムでデータを読み込みます。
//Load texture from disk
TextAsset bindata= Resources.Load("Texture") as TextAsset;
Texture2D tex = new Texture2D(1,1);
tex.LoadImage(bindata.bytes);
.txt と .bytes 拡張子によるファイルは、それぞれ、テキストとバイナリファイルとして扱われるので注意してください。これらのファイルからデータを読み込もうとするとき、予想外の動作をしてしまうかもしれないのでバイナリファイルを .txt 拡張子で保存しないでください。