以下の内容はhttps://bluebirdofoz.hatenablog.com/entry/2024/10/16/090237より取得しました。


CanvasGroupを使ってUIをグループ単位で有効/無効を切り替える

本日はUnityの小ネタ枠です。
CanvasGroupを使ってUIをグループ単位で有効/無効を切り替える方法です。

CanvasGroup

CanvasGroupはUI要素のグループ全体に対する特定の機能を与えます。
CanvasGroupのプロパティはそのコンポーネントがアタッチされているゲームオブジェクトと全ての子要素に影響を与えます。
docs.unity3d.com

UIをグループ単位で有効/無効を切り替える

以下のように子要素に全てのボタンオブジェクトを配置したサンプルシーンを用意しました。

CanvasGroupを使ってUIをグループ単位で管理するにはUIの親オブジェクトに[CanvasGroup]コンポーネントを追加します。

シーンを再生して動作を確認します。

CanvasGroupコンポーネントの[Interactable]のチェックを外すと、全ての子要素が入力を受け付けなくなります。

この状態はButtonコンポーネントであればButtonコンポーネントの[Interactable]のチェックを外した状態と同様です。

InteractableとBlockRaycastsの違い

InteractableとBlockRaycastsはどちらもチェックを外すと入力を受け付けなくなりますが、BlockRaycastsはチェックを外すとレイキャスト自体を素通りさせるようになります。
以下の2つのボタングループを重ね合わせたサンプルシーンで動作を確認してみます。

[Interactable]のチェックを外した場合ボタンは入力を受け付けませんが、レイキャストは遮蔽するため背後のボタンを押すことはできません。

[BlockRaycasts]のチェックを外した場合ボタンは入力を受け付けず、さらにレイキャスト自体が素通りするため背後のボタンが押下されます。




以上の内容はhttps://bluebirdofoz.hatenablog.com/entry/2024/10/16/090237より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14