TextMesh Pro は、Unityで高品質なテキストを表示するための人気のあるアセットです。
しかし、TextMesh Pro のテキストを生成した際、デフォルト設定ではRaycast Target
がオンになっています。これは、すべてのテキスト要素がレイキャストの対象となり、イベント検出の負荷が高まることがあります。
本記事では、Unity の TextMesh Pro を使用してテキストを生成する際、デフォルトでRaycast Target
の設定をオフにする方法について解説します。
開発環境
Unity 2021.3.15f1
TextMeshPro 3.0.6
目次
TextMesh Pro の生成時にデフォルトで Raycast Target をオフにする方法
Unity の TextMeshPro では、Enable Raycast Target
という設定があります。
この設定は、TextMeshPro の UI 要素がレイキャストの対象として機能するかどうかを制御します。具体的には、マウスやタッチイベントに対してUI要素が反応するかどうかを決定します。
この設定を変更することで、TextMesh Pro の生成時にデフォルトで Raycast Target をオフにすることができます。
Enable Raycast Target の場所
Enable Raycast Target
の場所は、まず Unity のメニューバーの [Edit] -> [Project Settings…] を開きます。
左のサイドバーの [TextMesh Pro] -> [Settings] を選択し、「Text Container Default Settings」項目の中に「Enable Raycast Target」が存在します。
Enable Raycast Target が有効な場合
Enable Raycast Target
がチェックされている場合、その TextMeshPro の UI 要素はレイキャストにヒットする対象として機能します。
これにより、その要素に対してマウスクリックやタッチイベントを検出できます。ボタンのラベルやインタラクティブなテキストなど、イベントに対応するUI要素の場合には、このオプションを有効にすることが一般的です。
Enable Raycast Target が無効な場合
逆に、Enable Raycast Target
がチェックされていない場合、その TextMeshPro の UI 要素はレイキャストの対象外となります。
これにより、その要素の上にあるマウスクリックやタッチイベントは無視され、背後のUI要素に対してのみイベントが発生します。このオプションは、イベント検出が不要なテキスト要素や、他のUI要素にマウスクリックやタッチイベントを通過させたい場合に無効にします。
参考リンク
関連記事
TextMeshPro で使えるリッチテキストタグまとめ【Unity】 【 Unity 】Auto Size を使ってフォントサイズを自動調整しよう【TextMeshPro】 【Unity】TextMesh Proではみ出たテキストを「…」で省略する方法