メインコンテンツまでスキップ

TextMeshPro_TextMeshProUGUI

TextMeshProTextMeshProUGUI は、両方とも Unity の TextMeshPro パッケージに含まれるテキストコンポーネントですが、使用する目的やアプリケーションによって異なる適用対象を持っています。


1. TextMeshPro

  • 用途:
    • 3D空間で使用されるテキスト表示。
    • ワールド空間内でのテキスト表示や、3Dオブジェクトとして配置可能。
  • 親オブジェクト:
    • 通常の GameObject。
    • Canvas なしでも使用可能。
  • 主要特徴:
    • カメラの視点や3D空間内での位置に応じてテキストが表示される。
    • カメラの近接・遠方によるスケール変化に対応する。
  • 利用例:
    • 3Dゲーム内の看板やアイテムラベル。
    • NPCの頭上に表示される名前や情報。

2. TextMeshProUGUI

  • 用途:
    • UIキャンバス内で使用されるテキスト表示。
    • 2Dレイアウトやスクリーン空間上でのUI要素に最適。
  • 親オブジェクト:
    • 必ず Canvas (2D または Screen Space - Camera/Overlay) の子として配置される必要がある。
  • 主要特徴:
    • スクリーン空間上での固定表示。
    • UIの他の要素(ボタン、パネルなど)と統合。
    • 解像度の変更に伴うスケーリングに対応。
  • 利用例:
    • メニューやHUD、インベントリのテキスト。
    • ボタンやダイアログのラベル。

3. 主な違い

特性TextMeshProTextMeshProUGUI
適用対象3D空間UIキャンバス
親オブジェクトCanvas 必須ではない必ず Canvas の子オブジェクト
空間の種類ワールド空間スクリーン空間またはワールド空間
スケーリング対応カメラ距離に応じたスケーリング解像度に応じたスケーリング
主要用途3Dゲーム内のラベルや看板UI要素

4. どちらを使うべきか?

  • UIの一部として使用する場合:

    • TextMeshProUGUI を使用。
    • 例えば、ボタンやダイアログ内のテキスト。
  • 3D空間内でのオブジェクトとして使用する場合:

    • TextMeshPro を使用。
    • 例えば、3Dゲームのマップに配置される看板やキャラクター頭上のラベル。