【Unity】TextMesh Pro の生成時に Raycast Target をオフにする方法

【Unity】TextMesh Proの生成時にデフォルトでRaycastTargetをオフにする方法

TextMesh Pro は、Unityで高品質なテキストを表示するための人気のあるアセットです。

しかし、TextMesh Pro のテキストを生成した際、デフォルト設定ではRaycast Targetがオンになっています。これは、すべてのテキスト要素がレイキャストの対象となり、イベント検出の負荷が高まることがあります。

TextMeshProのRaycastTarget

本記事では、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」が存在します。

TextMeshProのEnableRaycastTarget設定

Enable Raycast Target が有効な場合

Enable Raycast Targetがチェックされている場合、その TextMeshPro の UI 要素はレイキャストにヒットする対象として機能します。

これにより、その要素に対してマウスクリックやタッチイベントを検出できます。ボタンのラベルやインタラクティブなテキストなど、イベントに対応するUI要素の場合には、このオプションを有効にすることが一般的です。

Enable Raycast Target が無効な場合

逆に、Enable Raycast Targetがチェックされていない場合、その TextMeshPro の UI 要素はレイキャストの対象外となります。

これにより、その要素の上にあるマウスクリックやタッチイベントは無視され、背後のUI要素に対してのみイベントが発生します。このオプションは、イベント検出が不要なテキスト要素や、他のUI要素にマウスクリックやタッチイベントを通過させたい場合に無効にします。

参考リンク

関連記事

TextMeshPro で使えるリッチテキストタグまとめTextMeshPro で使えるリッチテキストタグまとめ【Unity】TextMeshProのAuto Size を使ってフォントサイズを自動調整しよう【 Unity 】Auto Size を使ってフォントサイズを自動調整しよう【TextMeshPro】【Unity】TextMesh Proではみ出たテキストを「...」で省略する方法【Unity】TextMesh Proではみ出たテキストを「…」で省略する方法