MRが楽しい

MRやVRについて学習したことを書き残す

UnityのInspectorで値の代入を含めたテキストのフォーマットを設定する

本日は Unity の小ネタ枠です。
UnityのInspectorで値の代入を含めたテキストのフォーマットを設定する方法を記事にします。

string.Format

値の代入を含めたテキストのフォーマットを作成するには string.Format を利用します。
string.Format は値を指定された形式に基づいて文字列に変換してフォーマットとして指定した文字列に挿入します。
learn.microsoft.com

例えば数値書式は以下の方法で指定可能です。
learn.microsoft.com
learn.microsoft.com

サンプルスクリプト

以下のサンプルスクリプトを作成しました。
Inspectorの入力で{0}を含めたフォーマットを指定すれば、値を代入した文字列が返ります。
数値書式の指定で少数第2位まで少数を表示するようにしています。
・StringFormatTest.cs

using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;

public class StringFormatTest : MonoBehaviour
{
    [SerializeField, Tooltip("テキスト出力先")] private TMP_Text p_TextField;

    [SerializeField, Tooltip("フォーマット")] private string p_Format = "height : {0:#.##}m";
    
    // Start is called before the first frame update
    void Start()
    {
        float value = 12345.67890f;
        var message = string.Format(p_Format, value);
        p_TextField.text = message;
    }
}

シーンを再生すると以下の通り、指定の書式で値が代入された文字列が表示されます。