Canvas Group可以用來控制一組不需要個別控制的UI元素的某些方面,CanvasGroup的屬性會影響他所有children的GameObject

其中有四個選項:
-Alpha:這個選項很多組件都有,用處也是一樣的,在美術中,這個叫做Alpha通道的東東是用來控制透明度的,他的值從0到1.0是完全透明,1是完全不透明;
-Interactable確認該組件是否接受輸入,當他被設置為false時,交互功能將被禁用;
-Block Raycasts是否讓該組件像collider一樣接受射線檢測?你需要在依賴于Canvas的圖形射線檢測者上喚醒射線檢測方法。這個不會作用于Physics.Raycast;
-Ignore Parent Groups(忽略父級團)是否響應父級group的方法
Canvas Group的經典使用:
-在窗口的GameObject上添加一個CanvasGroup,通過控制它的Alpha值來淡入或淡出整個窗口;
-通過給父級GameObject添加一個CanvasGroup并設置它的Interactable值為false來制作一整套沒有交互(灰色)的控制;
-通過將元素或元素的一個父級添加CanvasGroup并設置BlockRaycasts值為false來制作一個或多個不阻止鼠標事件的UI元素
應用:(重要的地方寫大字)
結合后面兩點或者1,3點,都可以實現(xiàn)很牛叉的功能
比如說游戲里某些情況某個按鈕(或者其他UI)是不能點的,而另外一些情況可以點,這樣就可以通過動態(tài)改變這個組件的BlocksRaycasts值以及Interactable來實現(xiàn)
再比如說游戲里點擊某個按鈕要讓這個按鈕不可點并逐漸消失掉,當然啦,也可以讓別的東西消失啦,這就可以通過改變alpha值來實現(xiàn)
恩,CanvasGroup這個組件已經被我玩壞啦~。~
至此,canvas的四個組件(Canvas、Canvas Render、Canvas Scaler、Canvas Group)都學完了,勃主的裝逼之路越走越遠了哈!
抽空再補上例子。。。