Unity UI Canvas Group 讓父子物件一起淡入淡出



不知道大家在製作 UI 的淡入淡出時,有沒有發生這種情形:想要淡入一個按鈕,就用動畫去調整按鈕 Color 的 a 值(透明度),但按鈕的字並不會隨著變,字就要再調一次。最近在看 Brackeys 的影片時,看到一個很好用的功能 — Canvas Group。他可以調整 Canvas Group 的 Alpha 值(透明度),子物件就會跟著一起變化,省去調整子物件的煩惱。

新增 Canvas Group 至要使用的物件


我們先開啟要使用的專案,並在 Hierarchy 中按 Create > UI > Button



在 Button 中 Add Component 並輸入 Canvas 找到 Canvas Group



新增 Fade In/Out 並調整動畫


開啟 Animation 視窗:在 Window > Animation > Animation



選好 Button 物件,然後在 Animation 視窗點擊 Create



我們先將 Fade In/Out 這兩個動畫檔建立好。第一個先命名為 FadeIn



點一下 Add Property 上方的 Fade In



再按 Create New Clip...



命名為 FadeOut



再按 Add Property 並點一下 Canvas Group 旁邊的三角形



再點 Alpha 旁邊的 + 號



將時間軸移到 1,並將 Alpha 改為 0,這樣就完成了。要看效果可以按一下空白鍵看。



我們再把這兩個點框選起來,Ctrl + C 複製



點 Fade Out 切換至 Fade In



Ctrl + V 貼上



將第 0 秒的 Alpha:1 改成 0 



移到 1 將 Alpha 改成 1 就完成了




接下來再到 Animator 調整動畫播放時機就可以了


留言