夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

Unityのテキストの文字をスクリプトで大文字に変える。

本日はUnity枠です。

Unityでは[uGUI]もしくは[TextMeshPro]を使用して文字を表示します。

今回UXUIの表現の幅を広げる意味でこのテキストをスクリプトで動的に大文字に変換していきます。

最終的には筆者の好きなアニメガンダムシリーズの次のようなシーンの演出をxRに応用できないかと今回は取り組みます。

www.youtube.com

ちなみに上記埋め込み動画はガンダムの公式チャンネルの公開している動画になります。

OSが立ち上がる表現で小文字の文字列から一文字一文字流れるように大文字に変換されています。今回はこの大文字に変換する部分を取り組みます。

スクリプト

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;
public class TextChanger : MonoBehaviour
{

    [SerializeField] TextMeshPro OriginalText;
    [SerializeField] TextMeshPro ChangedText;

    // Start is called before the first frame update
    void Start()
    {
        string st = OriginalText.text.ToString();
        ChangedText.text =st.ToUpper() ;//大文字に変換      
    } 
}

今回は[String.ToUpper]を使用しました。

これはそのString型変数をすべて大文字で返す処理になります。

docs.microsoft.com

Unityで実行します。

実行前はこちらのテキストを使用しました。(ガンダムのOS名です。)

General
Unilateral
Neuro - Link
Dispersive
Autonomic
Maneuver

f:id:Holomoto-Sumire:20210418210117j:plain

実行後は以下のようになります。

GENERAL
UNILATERAL
NEURO - LINK
DISPERSIVE
AUTONOMIC
MANEUVER

f:id:Holomoto-Sumire:20210418210329j:plain

たった一行の処理ですが、簡単に大文字に変更ができました。