unity 修改組件顏色的方法

遇到了個坑爹的問題,我在想在游戲里寫個功能,大概就是玩家進入一個區域內,整體改變場景的透明度,離開某個區域恢復到最初的透明度。

實際上方法很簡單的,只是在搜索教程的時候,大家都教的是

gameObject.GetComponent.().material.color.a = 0.5;

這樣只能改一個物體的顏色,不能改變所有的。

實際上有個非常簡單的辦法。(這里用JS語句來寫,實際上改成C#也是差不多的)


var? mat : Material;? ? //設置一個Material


function Start()


{mat.color.a = 0.0;} ? //改成全透明


這樣,就可以把整個場景所用的材質球全部改成透明度為0(即隱藏)

唯一的缺點是,這里的改動會在項目運行時保存,所以盡量少改動,除非有我這種游戲設計所需的腦洞不得不做才改之。



2018-3-21補充? 如何更改sprite的顏色

XXX.GetComponent().color = new Color(0.5f, 0.5f, 0.5f, 0.5f);? 4個參數代表的是RGBA,范圍是0-1

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 各種純css圖標 CSS3可以實現很多漂亮的圖形,我收集了32種圖形,在下面列出。直接用CSS3畫出這些圖形,要比...
    劍殘閱讀 9,688評論 0 8
  • 111. [動畫系統]如何將其他類型的動畫轉換成關鍵幀動畫? 動畫->點緩存->關鍵幀 112. [動畫]Unit...
    胤醚貔貅閱讀 13,202評論 3 89
  • Core Animation其實是一個令人誤解的命名。你可能認為它只是用來做動畫的,但實際上它是從一個叫做Laye...
    小貓仔閱讀 3,802評論 1 4
  • 初夏的五月,帶著如火如荼的激情;深圳返崗“名著導讀”培訓,攜一縷墨香如約而至。留固一中、八里營初中、大寨二中和趙營...
    改變自己369閱讀 412評論 0 3
  • 于鬧市中尋一僻靜之處 約三兩人 曬曬太陽 品品茶 時光幾天這樣悄悄走過 歲月靜好 如此便好
    嚴錦城閱讀 221評論 0 0