TextMeshPro_TextMeshProUGUI
TextMeshPro と TextMeshProUGUI は、両方とも 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. 主な違い
| 特性 | TextMeshPro | TextMeshProUGUI |
|---|---|---|
| 適用対象 | 3D空間 | UIキャンバス |
| 親オブジェクト | Canvas 必須ではない | 必ず Canvas の子オブジェクト |
| 空間の種類 | ワールド空間 | スクリーン空間またはワールド空間 |
| スケーリング対応 | カメラ距離に応じたスケーリング | 解像度に応じたスケーリング |
| 主要用途 | 3Dゲーム内のラベルや看板 | UI要素 |
4. どちらを使うべきか?
-
UIの一部として使用する場合:
TextMeshProUGUIを使用。- 例えば、ボタンやダイアログ内のテキスト。
-
3D空間内でのオブジェクトとして使用する場合:
TextMeshProを使用。- 例えば、3Dゲームのマップに配置される看板やキャラクター頭上のラベル。