【Unity】テキストファイルから文字を読み込んで画面に表示する

【Unity】テキストファイルから文字を読み込んで画面に表示する Unity
記事内に広告が含まれています。
スポンサーリンク

記事作成時の動作環境

  • Unity 2022.3.4f1
  • TextMeshPro 3.0.6

前提条件

UnityエディターのバージョンによってはTextMeshProがインストールされていない場合があります。

TextMeshProの導入方法については以下の記事をご覧ください。

また、この記事ではTextMeshProで日本語を表示するために「いろはマル」フォントを使用しています。

フォントの配布サイトはこちら→フリーフォントのMODI工場

実装例

テキストファイル取り込みのサンプルを作成していきます。

予め、テキスト表示用のText(TMP)オブジェクトを作成しておきます。

Panelは文字を見やすくするための背景として使用しているだけなので、任意で作成してください。

テキストファイルの作成

テキストファイル(拡張子が「.txt」のファイル)を作成します。

メモ帳などでファイルを作成し、Unityで表示させる文字を入力してください。

作成したテキストファイルをAssetsフォルダにドラッグアンドドロップして取り込みます。

ファイル読み込みスクリプト

スクリプトを作成し、以下のコードを記述します。

using TMPro;
using UnityEngine;

public class TextLoad : MonoBehaviour
{
    public TextAsset file;
    public TextMeshProUGUI text;

    void Start()
    {
        // テキストファイルの全文を取得
        string loadText = file.text;

        text.text = loadText;
    }
}

テキストを読み込んで表示するだけなのでとても単純なコードになっています。

空のオブジェクトを作成して上記で作成したスクリプトをアタッチし、インスペクタービューでテキストファイルとUIのテキストオブジェクトを設定します。

実行結果

テキストファイルに保存したものと同じ文章が画面に表示されました。

さいごに

テキスト表示はスクリプトに直接文章を書き込むという手段もありますが、RPGやノベルゲームのようなテキスト量が多いゲームだと管理が大変だし、ソースコードが汚くなってしまうので避けた方がいいと思います。

今回は単純に読み込んだテキストを表示しただけですが、文章を改行やカンマで区切って配列にすれば「クリックで次のテキストを表示」のようなことも出来るようになります。

参考サイト

コメント

タイトルとURLをコピーしました