【Unity】TextMesh Proではみ出たテキストを「…」で省略する方法

【Unity】TextMesh Proではみ出たテキストを「...」で省略する方法

はじめに

Unity でテキストを表示する際、文字数が多い場合に設定した表示領域から文字がはみ出てしまいます。本記事では、TextMesh Pro で表示領域からはみ出たテキストを「…」で省略する方法を紹介します。

TextMesh Pro とは、Unity uGUI の Text ではできないリッチなテキスト表現を実現できるテキストアセットです。

バージョン情報

Unity 2020.3.1f1
TextMeshPro 3.0.1

はみ出たテキストを「…」で省略する方法

UI から TextMesh Pro のテキストを生成します。

TextMesh Pro の生成

Unity の Inspector ビューにて TextMeshPro のコンポーネントを確認すると、デフォルトで 「Wrapping」の設定が「Enabled」、「Overflow」の設定が「Overflow」になっています。

TextMesh Pro の Wrapping と Overflow 設定

Wrapping」はテキストを折り返すかどうかの設定で、「Enabled」で文字の折り返しが有効になり表示領域の幅からはみ出ないよう自動的に改行されます。

以下の画像は文字数が多いためテキストが表示領域の高さをはみ出てしまった例です。

TextMesh Pro で overflow したテキスト

はみ出たテキストを「…」で省略するには、「Overflow」の設定を「Ellipsis」に変更します。

TextMesh Pro の Ellipsis

以下の画像が「Ellipsis」を設定した例です。
テキスト末尾が「…」に変わり、表示領域に収まるようになりました。

TextMesh Pro で Ellipsis 設定したテキスト

テキスト範囲の高さ(Height)を大きくすると、複数行入るようになり、最終行の末尾が「…」になります。

TextMesh Pro で Ellipsis 設定した2行分のテキスト

関連資料

TextMeshPro で使えるリッチテキストタグまとめ TextMeshPro で使えるリッチテキストタグまとめ【Unity】 TextMeshProのAuto Size を使ってフォントサイズを自動調整しよう 【Unity】Auto Size を使ってフォントサイズを自動調整しよう【TextMeshPro】