Edited at

[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