本文轉(zhuǎn)自Unity Connect博主 櫻花兔
借助這默認(rèn)的HDRP Shader菩暗,小伙伴們可以輕松地在HDRP中創(chuàng)建逼真的物理材質(zhì)掰曾。它包括一些效果選項(xiàng),例如次表面散射停团,虹彩旷坦,頂點(diǎn)或像素位移等各種表現(xiàn)效果。
今天呢佑稠,主要分享一下HDRP自帶的三種Shader Types:
Shader types(著色器類型)
Lit(默認(rèn)著色器):基礎(chǔ)的PBR著色器秒梅,可改變材質(zhì)類型,來實(shí)現(xiàn)任何想要的材質(zhì)感覺舌胶。
Layered Lit(分層著色器):通過一張Mask圖捆蜀,可將Lit材質(zhì)最多分成四個(gè)通道,并賦予不同的Lit材質(zhì)(需要材質(zhì)類型相同)幔嫂。
LitTessellation(曲面細(xì)分著色器):通過一張Hight map可改變Lit賦予后的表面辆它,所生成的表面就會(huì)表現(xiàn)出高度貼圖中所編碼的高度信息。
要?jiǎng)?chuàng)建新的Lit Material履恩,在引擎的導(dǎo)航欄中找到Asset窗口娩井,右鍵單擊該窗口,然后選擇Create> Material似袁。這會(huì)將新的材質(zhì)添加到Unity項(xiàng)目的Asset文件夾中。當(dāng)你在HDRP中創(chuàng)建新材質(zhì)時(shí)咐刨,默認(rèn)情況下它們將使用Lit Shader昙衅。想要換成其他的呢,它們呢定鸟,都在“ 著色器”下拉菜單中“ HDRP/ ”下而涉。
對(duì)了,有別的問題的話联予,可以看下我之前寫的文章哦~
HDRP的貼圖通道細(xì)節(jié)可以看這里:廁所工程HDRP后期Volume介紹可以看這里:VolumeSurface types(表面類型)
Tyes的HDRP手冊(cè)文檔:Types
Opaque(不透明):用于制作沒有光穿透的完全固態(tài)的材料啼县。
Transparent(透明):用于制作光可以穿透的半透明材料,例如透明的塑料或玻璃沸久。選擇“Transparent”可在“ Surface Options”部分以及“ Transparency Inputs”部分中顯示更多屬性堪旧。
Material types(材質(zhì)類型)
Types的HDRP手冊(cè)文檔:Types
Standard(標(biāo)準(zhǔn)):用于制作基礎(chǔ)的金屬著色器工作流程的材料淘正,這是默認(rèn)的“ 材料類型”。
Anisotropy(各向異性):用來制作那些在不同角度觀察高光會(huì)產(chǎn)生變化的材料。當(dāng)您從不同角度查看“材質(zhì)”時(shí)弦疮,各向異性表面的高光會(huì)改變外觀。
Iridescence(彩虹色):用來制作那些在不同角度觀察顏色會(huì)產(chǎn)生變化的材料。
Specular Color(鏡面顏色):用來制作那些想要擁有特定顏色高光的材料或者是純鏡面著色的材料。
Subsurface Scattering(次表面散射):用來制作那些可模擬光交互和散射的半透明材料葵孤。
Translucent(半透明):用來制作那些半透明的材料,與次表面散射材料相比橱赠,半透明材料不會(huì)模糊透射通過該材料的光尤仍。
在制作之前呢,我們先來了解一下菲涅爾效應(yīng)(Fresnel effect)狭姨,因?yàn)樗亲鳛榛谖锢淼匿秩纠砟钪械暮诵睦砟钪辉桌病7颇鶢栃?yīng) Fresnel Effect基于物理的渲染的核心理念之一是采用基于真實(shí)世界測(cè)量的材質(zhì)光學(xué)參數(shù)。
由于光由電磁波組成送挑,因此绑莺,物質(zhì)的光學(xué)特性與其導(dǎo)電特性密切相關(guān)。我們通常把導(dǎo)電性較差的材質(zhì)惕耕,如煤纺裁、人工晶體、琥珀司澎、陶瓷等稱為絕緣體欺缘。而把導(dǎo)電性比較好的金屬如金、銀挤安、銅谚殊、鐵、錫蛤铜、鋁等稱為導(dǎo)體嫩絮。以及將導(dǎo)電性質(zhì)介于導(dǎo)體和絕緣體之間的材質(zhì)稱為半導(dǎo)體。
即根據(jù)導(dǎo)電特性围肥,可將現(xiàn)實(shí)生活中的物質(zhì)分為三個(gè)主要光學(xué)類別:
金屬(metals)
電介質(zhì)(dielectrics)
半導(dǎo)體(semiconductors)
菲涅爾效應(yīng)剿干,表示的是看到的光線的反射率與視角相關(guān)的現(xiàn)象,由法國(guó)物理學(xué)家奧古斯丁.菲涅爾率先發(fā)現(xiàn)穆刻。其具體表現(xiàn)是在掠射角(與法線呈接近90度)下光的反射率會(huì)增加置尔。而上述的反射率,便被稱為菲涅爾反射率氢伟。如下圖榜轿。
需要注意的是,我們?cè)诤暧^層面看到的菲涅爾效應(yīng)實(shí)際上是微觀層面微平面菲涅爾效應(yīng)的平均值朵锣。
也就是說谬盐,影響菲涅爾效應(yīng)的關(guān)鍵參數(shù)在于每個(gè)微平面的法向量和入射光線的角度,而不是宏觀平面的法向量和入射光線的角度猪勇。即:
當(dāng)從接近平行于表面的視線方向進(jìn)行觀察设褐,所有光滑表面都會(huì)變得100%的反射性。
對(duì)于粗糙表面來說,在接近平行方向的高光反射也會(huì)增強(qiáng)助析,但不夠達(dá)到100%的強(qiáng)度犀被。
不同材質(zhì)的菲涅爾效應(yīng)的強(qiáng)弱是不同的,導(dǎo)體(如金屬)的菲涅爾效應(yīng)一般很弱外冀,主要是因?yàn)閷?dǎo)體本身的反射率就已經(jīng)很強(qiáng)寡键。就拿鋁來說,其反射率在所有角度下幾乎都保持86%以上雪隧,隨角度變化很小西轩,而絕緣體材質(zhì)的菲涅爾效應(yīng)就很明顯,比如折射率為1.5的玻璃脑沿,在表面法向量方向的反射率僅為4%藕畔,但當(dāng)視線與表面法向量夾角很大的時(shí)候,反射率可以接近100%庄拇,這一現(xiàn)象也導(dǎo)致了金屬與非金屬外觀上的不同注服。
當(dāng)光線垂直(以0度角)撞擊表面時(shí),該光線被反射(Reflected)為鏡面反射光的比率被稱為F0措近。即F0為0度角入射時(shí)的菲涅爾反射率溶弟。而折射(refracted)到表面中的光量則為為1-F0。如下圖瞭郑。
對(duì)于光滑的電介質(zhì)表面辜御,在0度角入射(F0)將反射2-5%的光,在掠射角入射下將反射100%的光屈张。
大多數(shù)常見電介質(zhì)的F0范圍為0.02-0.05(線性值)擒权。對(duì)于導(dǎo)體,F(xiàn)0范圍為0.5-1.0阁谆。
為了方便創(chuàng)作呢菜拓,可參考如下的PBR材質(zhì)F0反射率速查圖表,其中分別對(duì)常見材質(zhì)的線性值笛厦,sRGB值和參考顏色進(jìn)行了列舉。
好了俺夕,現(xiàn)在呢裳凸,我們了解了基礎(chǔ)的表面類型和材質(zhì)類型,以及物理的材質(zhì)解析之后呢劝贸,就可以開始制作了姨谷,這里呢,我做了幾個(gè)材質(zhì)的示例映九,供大家參考一下~
木板
金屬
拋光金屬
皮膚
透明塑料
泥土沙石
電鍍
布料
絨毛
分層材質(zhì)
分層Planar
— 木板 —
上傳視頻封面
?
好的標(biāo)題可以獲得更多的推薦及關(guān)注者
在“ 著色器”下拉菜單中梦湘,選擇“ HDRP”>“Lit”
電介質(zhì)具有相當(dāng)?shù)偷腇0值 - 通常為0.06或更低。在垂直入射時(shí)的這種低反射率使得菲涅爾效應(yīng)對(duì)于電介質(zhì)尤其明顯。電介質(zhì)的光學(xué)性質(zhì)在可見光譜上很少變化很大捌议,導(dǎo)致無色反射率值哼拔。
這個(gè)木頭材質(zhì)的屬性如下:首先木頭的Surface types是Opaque的,然后呢瓣颅,它的Material types就選默認(rèn)的Standard倦逐。
— 金屬 —
上傳視頻封面
?
好的標(biāo)題可以獲得更多的推薦及關(guān)注者
在“ 著色器”下拉菜單中,選擇“ HDRP”>“LitTessellation”
金屬具有高的F0值 - 幾乎總是0.5或更高宫补。一些金屬具有在可見光譜范圍內(nèi)變化的光學(xué)性質(zhì)檬姥,導(dǎo)致了這些金屬有色的菲涅爾反射率。
這個(gè)鐵球?yàn)榱藢⑺砻婕?xì)節(jié)體現(xiàn)的更加可信粉怕,我將它設(shè)為了曲面細(xì)分的Lit健民,這個(gè)金屬材質(zhì)的屬性如下:首先它的Surface types是Opaque的,然后呢贫贝,它的Material types就選默認(rèn)的Standard秉犹,如果選擇了曲面細(xì)分的shader的話,會(huì)在Shader面板中多出一條Tessellation Options平酿,來設(shè)置曲面細(xì)分的細(xì)節(jié)凤优,這里就先不多做介紹了。
然后在Surface Inputs會(huì)多一項(xiàng)Height Map的接口蜈彼,以及細(xì)分高度參數(shù)的設(shè)置筑辨。
— 拋光金屬 —
上傳視頻封面
?
好的標(biāo)題可以獲得更多的推薦及關(guān)注者
在“ 著色器”下拉菜單中,選擇“ HDRP”>“Lit”
這個(gè)拋光材質(zhì)的屬性如下:首先它的Surface types是Opaque的幸逆,然后呢棍辕,它的Material types選擇到Specular Color。
為了呈現(xiàn)出鏡面拋光的感覺呢还绘,我將Smoothness值調(diào)整到了1楚昭,如果是Specular Color的材質(zhì)類型的話,會(huì)在shader的Surface Inputs中多出一行Specular的貼圖設(shè)置以及顏色設(shè)置拍顷。
拋光金屬會(huì)立即吸收任何透射光抚太,因此它們不會(huì)出現(xiàn)任何次表面散射或透明感。
— 皮膚 —
上傳視頻封面
?
好的標(biāo)題可以獲得更多的推薦及關(guān)注者
在“ 著色器”下拉菜單中昔案,選擇“ HDRP”>“LitTessellation”
這個(gè)皮膚材質(zhì)的屬性如下:首先它的Surface types是Opaque的尿贫,然后呢,它的Material types選擇到Subsurface Scattering踏揣。
之后會(huì)在Surface Inputs會(huì)多一項(xiàng)Diffusion Profile(擴(kuò)散曲線)的配置文件調(diào)用接口庆亡,如果你想創(chuàng)建Diffusion Profile,可以在Assets > Create > Rendering > Diffusion Profile捞稿,需要使用的話又谋,可以添加到HDRP配置文件中的Diffusion Profile List里面拼缝。
然后還有Subsurface Mask貼圖以及參數(shù)接口,以及Thickness(厚度)參數(shù)接口彰亥。
— 透明塑料 —
上傳視頻封面
?
好的標(biāo)題可以獲得更多的推薦及關(guān)注者
在“ 著色器”下拉菜單中咧七,選擇“ HDRP”>“Lit”
這個(gè)塑料材質(zhì)的屬性如下:首先它的Surface types是Transparent的,然后呢剩愧,它的Material types選擇到Translucent猪叙,Translucent下的Lit Shader會(huì)生成一組Refraction Inputs設(shè)置,并將它之下的Refraction Model開啟仁卷,并將模型設(shè)置成為Sphere(球體)穴翩,當(dāng)開啟Refraction之后,Smoothness貼圖就將能控制這個(gè)透明材質(zhì)的可見度锦积。
— 泥土沙石 —
上傳視頻封面
?
好的標(biāo)題可以獲得更多的推薦及關(guān)注者
在“ 著色器”下拉菜單中芒帕,選擇“ HDRP”>“LitTessellation”
這個(gè)石頭材質(zhì)的屬性如下:首先石頭的Surface types是Opaque的,然后呢丰介,它的Material types就選默認(rèn)的Standard背蟆,石頭的設(shè)置和木材是一樣的,不過為了獲得更加豐富的細(xì)節(jié)哮幢,用Hight Map將埋在土里的小石子逼真的刻畫出來带膀。
— 電鍍 —
上傳視頻封面
?
好的標(biāo)題可以獲得更多的推薦及關(guān)注者
在“ 著色器”下拉菜單中,選擇“ HDRP”>“LitTessellation”
這個(gè)電鍍材質(zhì)的屬性如下:首先它的Surface types是Transparent的橙垢,然后呢垛叨,它的Material types選擇到Iridescence,Iridescence下的Lit Shader會(huì)生成一組Iridescence設(shè)置柜某,彩虹色的遮罩貼圖和參數(shù)調(diào)節(jié)嗽元,還有就是彩虹色的遮罩厚度和參數(shù)調(diào)節(jié)。
— 布料 —
上傳視頻封面
?
好的標(biāo)題可以獲得更多的推薦及關(guān)注者
在“ 著色器”下拉菜單中喂击,選擇“ HDRP”>“Lit”
這個(gè)布料材質(zhì)的屬性如下:首先它的Surface types是Opaque的剂癌,然后呢,它的Material types選擇到Anisotropy翰绊,Anisotropy下的Lit Shader會(huì)在Surface Inputs下生成一個(gè)Tangent Map(切線貼圖)的接口以及Anisotropy參數(shù)設(shè)置條以及Anisotropy貼圖接口佩谷。
— 絨毛 —
上傳視頻封面
?
好的標(biāo)題可以獲得更多的推薦及關(guān)注者
在“ 著色器”下拉菜單中,選擇“ HDRP”>“LitTessellation”
這個(gè)絨毛材質(zhì)的屬性如下:首先它的Surface types是Opaque的监嗜,然后呢琳要,它的Material types選擇到Anisotropy,然后通過Hight Map的曲面細(xì)分秤茅,讓材質(zhì)有絨毛的感覺~。
— 分層材質(zhì) —
上傳視頻封面
?
好的標(biāo)題可以獲得更多的推薦及關(guān)注者
在“ 著色器”下拉菜單中童叠,選擇“ HDRP”>“LayeredLit”
在使用LayeredLit之后框喳,會(huì)比Lit多一行Layer相關(guān)的設(shè)置课幕,可以在Layer Mask上添加一張有RGBA通道的Mask貼圖,將Layer Count設(shè)置成四個(gè)通道五垮,這樣乍惊,Layer List就會(huì)出現(xiàn)4個(gè)材質(zhì)的接口,你可以直接拖入已經(jīng)設(shè)置好的材質(zhì)(修改這些材質(zhì)的參數(shù)并不會(huì)影響原有的這些材質(zhì))放仗,或者直接在下面四個(gè)Layer里面設(shè)置也可以的润绎。
這是我在使用的這張MASK貼圖,顯示在PS中的通道視圖诞挨,這樣看就很清晰明白了莉撇,白色代表每一個(gè)通道的顯示區(qū)域,把所有的白色部分組合在一起時(shí)候惶傻,就能成為一張完整的貼圖棍郎。HDRP 在Main Layer之上按順序渲染第1層,第2層和第3 層银室,通過Layering Options里的Opacity也可以讓層級(jí)之間的材質(zhì)相互混合涂佃。
— 分層Planar—
這是Layered Lit的拓展功能,將Base UV Mapping設(shè)置為Planar蜈敢,將貼圖的World Scale設(shè)置保持和地形或者其他Object的貼圖一致辜荠,這樣的話,比如抓狭,在做室外場(chǎng)景的時(shí)候伯病,有樹根或者石塊什么的,插在地形上面的情況時(shí)辐宾,就能和地形Terrain完美的結(jié)合了狱从。
好了,這次的Lit Shader的基本功能介紹就到這里啦~
原文鏈接:https://connect.unity.com/p/hdrp-pbr-lit-shader-yi-ji-chu-yong-fa-pian?app=true
發(fā)現(xiàn)更多干貨資源叠纹,歡迎戳上方鏈接季研,下載Unity官方app!