Unity-透明視差鏡面反射 (Transparent Parallax Specular)
注意:Unity 5 引入了標準著色器來取代此著色器。

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