読者です 読者をやめる 読者になる 読者になる

all green

プログラム、アプリ作成、Web等備忘録が中心です

Unity uGUI UIをまとめて(子オブジェクトすべて)フェードさせる

アニメーション等で子階層を含めてアルファ値を変えたい場合は
CanvasGroupを使用すると一括で変更が行えます。

環境
Unity 5.3.4f1




f:id:uwanosora22:20160414011810j:plain

・ルートのオブジェクトにCanvasGroupを追加する
・CanvasGroupのAlphaを変更する

CanvasGroupを使用するとまとめてアルファの値を変えたり
ボタンの無効化、RaycastTargetのOn/Off等が行える。

またAnimationを使用する場合もタイムラインから値一つの変更でまとめてフェードできます。

さらにDOTWeenを使用するとCanvasGroup.DOFadeを使用してフェードが行える。

using UnityEngine;
using DG.Tweening;

public class FadeTest : MonoBehaviour
{
	public CanvasGroup canvasGroup;

	void Start()
	{
		canvasGroup.DOFade(0, 1.0f);
	}
}

※DOTween Pro 0.9.470で確認