Unity-透明凹凸鏡面反射 (Transparent Bumped 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è)計人員意識到可能發(fā)生這樣的排序問題,讓他們準(zhǔn)備改變一些設(shè)計來解決這些問題。
法線貼圖 (Normal Mapped) 屬性
像__漫射 (Diffuse)__ 著色器一樣,法線貼圖會計算一個簡單的 (Lambertian) 光照模型。表面上的光照隨著表面與光源之間的角度減小而減弱。光照僅取決于角度,在攝像機(jī)移動或旋轉(zhuǎn)時不會改變。
法線貼圖__使用紋理模擬小的表面細(xì)節(jié),而不是用更多的多邊形來實(shí)際雕刻細(xì)節(jié)。實(shí)際上并沒有改變對象的形狀,而是使用一種稱為__法線貼圖 (Normal Map)?的特殊紋理來實(shí)現(xiàn)這種效果。在法線貼圖中,每個像素的顏色值表示表面法線的角度。然后通過使用該值而不是幾何中的值來計算光照。在計算對象的光照時,法線貼圖可以有效地覆蓋網(wǎng)格的幾何體。
創(chuàng)建法線貼圖
可以導(dǎo)入在 Unity 外部創(chuàng)建的法線貼圖,也可以導(dǎo)入常規(guī)灰度圖像并在 Unity 中將其轉(zhuǎn)換為法線貼圖。(本頁面引用的是已被標(biāo)準(zhǔn)著色器取代的舊版著色器,但您可以了解有關(guān)如何使用標(biāo)準(zhǔn)著色器中的法線貼圖的更多信息)
技術(shù)細(xì)節(jié)
法線貼圖是一種切線空間類型的法線貼圖。切線空間是“貼合模型幾何體表面”的空間。在此空間中,Z 總是背離表面。切線空間法線貼圖比其他“對象空間”類型的法線貼圖的成本稍高,但有一些優(yōu)點(diǎn):
1.可以在變形模型上使用它們 - 凸起將保留在變形表面上并可以正常工作。 1.可以在模型的不同區(qū)域重復(fù)使用法線貼圖的某些部分;或在不同模型上使用它們。
鏡面反射 (Specular) 屬性
鏡面反射與漫射一樣計算簡單 (Lambertian) 光照,此外還有依賴于觀察者的鏡面高光。這稱為 Blinn-Phong 光照模型。此渲染器具有取決于表面角度、光角度和視角的鏡面高光。高光實(shí)際上只是一種模擬光源模糊反射的實(shí)時適用方法。高光的模糊程度由?Inspector?中的?Shininess?滑動條控制。
此外,主紋理的 Alpha 通道充當(dāng)鏡面貼圖(有時稱為“光澤貼圖”),定義對象的哪些區(qū)域比其他區(qū)域更具反射性。Alpha 的黑色區(qū)域表示零鏡面反射,而白色區(qū)域表示全鏡面反射。希望對象的不同區(qū)域進(jìn)行不同程度的鏡面反射時,這非常有用。例如,生銹的金屬之類的物體會使用低鏡面反射率,而拋光的金屬會使用高鏡面反射率。唇膏比皮膚具有更高的鏡面反射率,而皮膚比棉質(zhì)衣服具有更高的鏡面反射率。制作精良的鏡面貼圖可以給玩家留下深刻的印象。
性能
通常,此著色器的渲染成本屬于中等。有關(guān)更多詳細(xì)信息,請查看著色器性能頁面。