Version: 2019.3
言語: 日本語
Text Mesh
フォント

テキストアセット

Text Asset は、インポートされたテキストファイルのための形式です。プロジェクトフォルダーにテキストをドロップすると、テキストアセットに変換されます。以下のファイル形式がサポートされています。

  • .txt
  • .html
  • .htm
  • .xml
  • .bytes
  • .json
  • .csv
  • .yaml
  • .fnt

スクリプトファイルも AssetDatabase.FindAssets を使用するときにテキストアセットとみなされます。なので “t:TextAsset” フィルターを使用した検索結果でもスクリプトファイルが含まれます。

テキストアセット インスペクター
テキストアセット インスペクター

プロパティ

プロパティ 機能
Text 文字列としてのアセットのテキスト

詳細

テキストアセットは、かなり特化した仕組みです。ゲームの作成中に、他のテキストファイルからのテキストをゲーム内に挿入するために使います。単純な .txt ファイルを記述するだけで、テキストをゲーム内にとても簡単に挿入できます。ランタイムでテキストファイルを生成する事は想定されていないので、従来の入出力プログラミング技術を使用して、外部ファイルを読み書きする必要があります。

以下の 2 つのシナリオを考えてください。従来のテキストの多いアドベンチャーゲームを作成しています。制作を簡単にするため、ゲームのテキストをすべて別々の部屋に分割したいと思っています。この場合、それぞれの部屋で使用するテキストを作成します。そこから、入る部屋に対して正しいテキストアセットを参照するのは簡単です。さらに、カスタマイズされた構文解析ロジックで、大量のテキストを非常に簡単に管理できます。

バイナリデータ

テキストアセットの特殊機能は、バイナリデータを格納できるということです。ファイルに拡張子 .bytes を与えると、テキストアセットとして読み込まれ、bytes プロパティを通じてアクセスできます。

例えば、jpeg ファイルを Resources フォルダーに入れ、拡張子を .bytes に変え、次のスクリプトを使用して、ランタイムでデータを読み込むことが可能です。

//テクスチャをディスクから読み込みます
TextAsset bindata= Resources.Load("Texture") as TextAsset;
Texture2D tex = new Texture2D(1,1);
tex.LoadImage(bindata.bytes);

.txt.bytes 拡張子によるファイルは、それぞれ、テキストとバイナリファイルとして扱われるので注意してください。これらのファイルからデータを読み込もうとするとき、予想外の動作をしてしまうかもしれないのでバイナリファイルを .txt 拡張子で保存しないでください。

ヒント

  • テキストアセットは、ビルド内のすべてのアセットのようにシリアライズできます。ゲームのパブリッシュ時に含まれる物理テキストファイルはありません。
  • テキストアセットは、ランタイムでのテキストファイル生成に使用するためのものではありません。
Text Mesh
フォント