Unity-透明鏡面反射 (Transparent Specular)
注意:Unity 5 引入了標(biāo)準(zhǔn)著色器來取代此著色器。

此著色器的一個注意事項(xiàng)是基礎(chǔ)紋理的 Alpha 通道同時定義透明區(qū)域以及鏡面貼圖。
透明 (Transparent) 屬性
注意:Unity 5 引入了標(biāo)準(zhǔn)著色器來取代此著色器。
此著色器可以通過讀取主紋理的 Alpha 通道使網(wǎng)格幾何體部分透明或完全透明。在 Alpha 中,0(黑色)表示完全透明,而 255(白色)表示完全不透明。如果主紋理沒有 Alpha 通道,則對象將顯示為完全不透明。
在游戲中使用透明對象可能很棘手,因?yàn)閭鹘y(tǒng)的圖形編程問題可能會在游戲中帶來排序問題。例如,如果在同時透過兩個窗口觀察時看到奇怪的結(jié)果,則表示遇到了在使用透明度方面的典型問題。一般規(guī)則是要注意在某些情況下,一個透明對象可能以不尋常的方式在另一個對象之前繪制,特別是在這些對象相交、相互包圍或者大小差異巨大的情況下。因此,應(yīng)該在需要時才使用透明對象,盡量避免過多使用。還應(yīng)該讓設(shè)計(jì)人員意識到可能發(fā)生這樣的排序問題,讓他們準(zhǔn)備改變一些設(shè)計(jì)來解決這些問題。
鏡面反射 (Specular) 屬性
鏡面反射與漫射一樣計(jì)算簡單 (Lambertian) 光照,此外還有依賴于觀察者的鏡面高光。這稱為 Blinn-Phong 光照模型。此渲染器具有取決于表面角度、光角度和視角的鏡面高光。高光實(shí)際上只是一種模擬光源模糊反射的實(shí)時適用方法。高光的模糊程度由?Inspector?中的?Shininess?滑動條控制。
此外,主紋理的 Alpha 通道充當(dāng)鏡面貼圖(有時稱為“光澤貼圖”),定義對象的哪些區(qū)域比其他區(qū)域更具反射性。Alpha 的黑色區(qū)域表示零鏡面反射,而白色區(qū)域表示全鏡面反射。希望對象的不同區(qū)域進(jìn)行不同程度的鏡面反射時,這非常有用。例如,生銹的金屬之類的物體會使用低鏡面反射率,而拋光的金屬會使用高鏡面反射率。唇膏比皮膚具有更高的鏡面反射率,而皮膚比棉質(zhì)衣服具有更高的鏡面反射率。制作精良的鏡面貼圖可以給玩家留下深刻的印象。
性能
通常,此著色器的渲染成本屬于中等。有關(guān)更多詳細(xì)信息,請查看著色器性能頁面。