Unity

[Unity] CanvasGroupの影響を受けない子要素を作る

More than 1 year has passed since last update.

実行環境

  • Unity5.5.2f1

概要

  • CanvasGroupを使用してUI群のアルファ値を一括で操作したいケースはよくある
  • その際、一部のUI要素のみアルファ値の操作の影響下から外したい

Ignore Parent Groups

  • https://docs.unity3d.com/ja/540/Manual/class-CanvasGroup.html
  • CanvasGroup の Insepector上で設定できる項目にの1つ
  • Ignore Parent Groupsを有効にした場合、アタッチされたGameObjectと子要素が、親要素の Canvas Group の影響を受けなくなる
  • スクリプトから変更する場合、以下のように記載する
CanvasGroup canvasGroup = GetComponent<CanvasGroup>();
canvasGroup.ignoreParentGroups = true;

対応

  • 1) 親要素にCanvasGroupをアタッチする
  • 2) 子要素にもCanvasGroupをアタッチする
  • 3) 子要素のCanvasGroupのIgnore Parent Groupsを有効にする
  • 4) 親要素のCanvasGroupのアルファを変更する

ignore_parent_group.gif