簡述47種Shader Map的渲染原理與制作方法

在Shader中會使用各種不同圖參與渲染,所以簡單地總結(jié)下各種圖的渲染原理即彪、制作方法辛藻,最后面幾種是程序生成圖没陡。

1. Albedo

2. Diffuse(Photographic)

從上圖可以看出來小腊,Albedo是去掉Diffuse的光照和陰影生成的伏尼,而在pbr工作流下必須要用Albedo。轉(zhuǎn)換方法:How to Make an Albedo Texture from a Diffuse Texture

3. Alpha Map

注意:jpg沒有alpha通道,png也沒有alpha通道介蛉,顯示的alpha是根據(jù)rgb計算的灰度作為alpha使用夯缺。另外安卓平臺ETC1也沒有alpha通道。

4. Bump Map

5. Height Map

基于高度的潮濕地面

6. Normal Map

Bump Map是凹凸貼圖,常用的有兩種:一種是Emboss Bump Map(浮雕凹凸貼圖甘耿,使用的Height Map),另一種是Dot3 Bump Map(點乘凹凸貼圖,使用的是Normal Map)

7. Mask Map

Mask用途比較多竿滨,常用來標(biāo)識不同物體佳恬,比如標(biāo)識建筑上反光的窗戶、地面的積水于游、皮膚上汗水等毁葱。

8. Light Map(圖來源)

9. Lut

Lut(查找表lookup table)可以用于優(yōu)化復(fù)雜光照的渲染,比如lambert blinn-phong可以把(NL,NH)作為uv坐標(biāo)贰剥,將光照計算存儲在一張貼圖中倾剿,這樣渲染時復(fù)雜的計算過程就優(yōu)化為紋理采樣了。另外皮膚蚌成、毛發(fā)之類復(fù)雜計算都可以用此方法優(yōu)化前痘。

10. Emission Map

如果要表現(xiàn)更好的效果,自發(fā)光還要配合HDR/ToneMap/Bloom担忧。

11. Metallic Map/Roughness

12. Specular Map/ Smoothness

圖來源

高光工作流可以不受限于PBR芹缔,能做非真實渲染,而金屬工作流則對入門者更友好瓶盛,限制在物理渲染的框架中最欠,不至于渲染的太糟,當(dāng)然金屬工作流也可以做風(fēng)格化的渲染惩猫。如果是用Substance Painter或者M(jìn)armoset Toolbag制作芝硬,這兩種方式都支持導(dǎo)出的。

13. Gloss Map

14. Smothness Map

15. Roughness Map

光澤貼圖和高光貼圖是不同的轧房,它類似平滑貼圖/粗糙貼圖拌阴,表示物體表面的平滑粗糙程度,而高光貼圖存儲的是高光的強(qiáng)度锯厢,金屬貼圖存儲的是金屬度皮官。

16. pbr(sbsar)

17. Ramp Map

Ramp Map常用于卡通渲染,可以用于手工調(diào)節(jié)漫反实辑、高光捺氢、陰影等,但是這比較依賴美術(shù)畫圖的功力剪撬,道理簡單摄乒,渲染的好看卻不容易。

圖來自米哈游的技術(shù)解說米哈游極樂凈土的卡通渲染

18. Detail Map(Albedo Emission Specular Normal 等)

Detail Map主要解決相機(jī)靠近模型時貼圖精度不足的問題,比如地面馍佑、皮膚斋否、樹木等等靠近看會很模糊,用一張尺度更小的坑坑洼洼的圖來增加細(xì)節(jié)拭荤。左上是模糊的地面茵臭,右上是細(xì)節(jié)圖,最下面是增加細(xì)節(jié)后的地面舅世。

19. Gradient Map(用于Color Gradient顏色分級旦委、顏色校正等)

20. Jitter Map/Sparke Map/Glitter Map

這種閃爍的噪點主要用于沙子、雪等渲染雏亚,主要用于表現(xiàn)顆粒感缨硝。這可以用噪聲圖來用于渲染,也可以用函數(shù)生成罢低,一般類似frac(a*sin+b)這樣形式查辩,可以搭配WorldPos、ViewPos网持、Time來組合成函數(shù)宜岛。

21. Noise Map

Noise有很多種:白噪聲、藍(lán)噪聲翎碑、perlin噪聲谬返、simplex噪聲、Voronoi噪聲日杈。另外推薦個噪聲圖編輯器:numberflow

22. Splatting Map

最常用于地形渲染遣铝,單獨一張control texture作為多層貼圖的混合系數(shù),既可以用于顏色混合莉擒,也可以用于法線混合酿炸。

23. Lens Map(Rain/Snow/Freeze/Glare/Flare/Flash/Gleam/starburst)

做鏡頭效果會需要很多類似雨滴、雪花涨冀、臟跡填硕、冰凍、炫光鹿鳖、星星等貼圖扁眯。比如下面鏡頭雨滴。

24. CubeMap

Arm公司做的Ice Cave把CubeMap用在反射翅帜、折射姻檀、陰影,效果很贊(ice cave)

25. MatCap Map

Matcap的原理將法線轉(zhuǎn)換view坐標(biāo)系,取XY作為UV采樣一張貼圖涝滴,原理如下圖

對于場景色調(diào)比較統(tǒng)一绣版、不要求精準(zhǔn)光照的情況胶台,這是種運行效率非常高的渲染方式。

26. 3D Texture

3d紋理最常用于體渲染杂抽,比如云诈唬、高度霧等。Unity不支持3d紋理的文件格式缩麸,但是支持動態(tài)創(chuàng)建Texture3D铸磅,這樣可以自己保存為asset格式或者自定義格式,在運行時轉(zhuǎn)換為Texture3D杭朱。因為體渲染比較常用的方式是raymatching愚屁,步進(jìn)次數(shù)少效果很難表現(xiàn)出來,在移動端效率比較低痕檬。圖來HorizonZeroDawn

27. Translucency Map(Thickness Map、反向AO送浊、單散射)

主要用于半透明物體梦谜,比如闊葉植被、玉等

28. Ambient Occlusion Map

AO的計算方法是從頂點的半球發(fā)出射線袭景,檢測射線是否與網(wǎng)格相交唁桩,下圖的遮擋值是5/7。圖來源

因為AO圖噪點較多耸棒,即使增加射線的數(shù)量效果也不是很好荒澡,而體遮擋法能很好解決這個問題。AO如果作為后處理的話与殃,SSVO单山、SSDO是比較流行的方法。

29. DUDV Map

DuDv圖看上去像蚯蚓爬過的法線圖幅疼,一般用RG兩個通道存儲數(shù)據(jù)米奸,是根據(jù)法線求導(dǎo)后再模糊處理存儲的數(shù)據(jù),類似與Parallax Map的用途爽篷,它也用于扭曲悴晰,比如下圖用于扭曲水面倒影。圖來源

30. Flow Map

Flow map存儲的是向量場數(shù)據(jù)逐工,可以用于控制水面UV铡溪,比如下圖石頭周圍一圈一圈水紋,制作工具有很多泪喊,比如flowmap制作工具

31. Ripple Map

常用于雨滴水紋棕硫、物體落入水中的水紋等,可以算是flowmap的一種窘俺。

32. Distort Map

扭曲圖比較常用于半透物體饲帅,用于扭曲背景复凳。比如下圖冰塊。

33. Displacement Map

34. Vector Displacement Map

這兩種圖常用鑲嵌灶泵,不過Displacement Map相當(dāng)于高度圖育八,而Vector Displacement Map存儲的是三維向量,可以更好地細(xì)分模型赦邻。比如用地面蘑菇髓棋、地衣、耳朵等惶洲。

35. Radiosity Normal Map

半條命首先引入的光照貼圖方式按声,具體參考:Radiosity Normal Map,另外抵抗:人類隕落也有使用這種方法:抵抗中的光照

36. Cavity Map

縫隙圖存儲的是比普通AO更小的AO信息恬吕,主要用于表現(xiàn)裂縫签则。制作方法參考:縫隙圖筆記

37. Curvature Map

曲率圖和縫隙圖不同的是它主要用于表現(xiàn)邊緣、凹凸等效果铐料,用于耳朵渐裂、眉骨、鼻子渲染效果會很好钠惩,利用DDX/DDY或fwidth也可以動態(tài)計算曲率柒凉。

38. Anisotropic Map

有些物體的光照會呈現(xiàn)各向異性,比如頭發(fā)篓跛、金屬等膝捞,下圖是三種頭發(fā)渲染的方式(環(huán)形、kajiya愧沟、Scheuermann)都用到各向異性的貼圖用于高光偏移蔬咬。

39. Derivative Map

這是由頑皮狗大神Morten Mikkelsen首先提出法線圖的衍生方式(Bump Mapping Unparametrized Surfaces on the GPU),因為用法線圖一般在切線空間用于光照計算沐寺,而這種方法則不需要切線空間的參與计盒,效率和效果都會更好,不用法線圖芽丹,而是表面梯度圖北启,和高度梯度圖是不同的。不過這文章讀起來挺心累的拔第,最好參考Jim Blinn大神的凹凸貼圖原理咕村。

40. Foam Map

泡沫貼圖、浪花貼圖用于水面超過一定值時泡沫會和水面顏色混合蚊俺,水面頂點越高泡沫透明度越大懈涛。

圖來源

41. Caustics Map

水紋貼圖:因為水面起伏、焦散導(dǎo)致水底某些地方會比周圍更亮泳猬,可以用Projector渲染水紋批钠,也可以參考GPU Gems的反向計算折射光線來采樣太陽環(huán)境圖的方法(Rendering Water Caustics)宇植,還有一個制作水紋的工具(水紋生成器+Unity Demo)

42.Bent Normal Map (經(jīng)大神王滕昊提醒補(bǔ)充加上)

Bent Normal 常用于離線AO渲染中,是對原始法線修改后的向量埋心,考慮周圍遮擋情況使其指向光線傳入的主方向指郁,如下圖Bend Normal 比原始法線偏右。用于光照計算或者環(huán)境光采樣用Bend Normal在模型邊緣處會得到更好的AO和光照效果拷呆。

43. Depth Map

44. Camera Depth Map

45. Camera Depth Normal Map

相機(jī)深度圖可以用于渲染水闲坎、霧、掃描茬斧、半透物體等腰懂,這里有個不錯文章有關(guān)深度法線圖的:深度與法線圖

46. Grab Pass Texture

GrabPass可以用于熱浪扭曲、半透冰塊项秉、沖擊波等需要背景用于渲染的情況绣溜,在移動端效率不高,不要求動態(tài)背景時可以用Cubemap來代替娄蔼。

47. Vertex Texture Fetch

在Vertex Shader中讀取上一幀水面高度紋理涮毫,在當(dāng)前幀繼續(xù)波動,這可以用于交互式水渲染贷屎,不過頂點紋理拾取是比較耗費資源的操作,不需要交互的水面是用不到的艘虎,對于海戰(zhàn)類型的游戲會比較有用唉侄。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市野建,隨后出現(xiàn)的幾起案子属划,更是在濱河造成了極大的恐慌,老刑警劉巖候生,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件同眯,死亡現(xiàn)場離奇詭異,居然都是意外死亡唯鸭,警方通過查閱死者的電腦和手機(jī)须蜗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來目溉,“玉大人明肮,你說我怎么就攤上這事$愿叮” “怎么了柿估?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長陷猫。 經(jīng)常有香客問我秫舌,道長的妖,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任足陨,我火速辦了婚禮嫂粟,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘钠右。我一直安慰自己赋元,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布飒房。 她就那樣靜靜地躺著搁凸,像睡著了一般。 火紅的嫁衣襯著肌膚如雪狠毯。 梳的紋絲不亂的頭發(fā)上护糖,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天,我揣著相機(jī)與錄音嚼松,去河邊找鬼嫡良。 笑死,一個胖子當(dāng)著我的面吹牛献酗,可吹牛的內(nèi)容都是我干的寝受。 我是一名探鬼主播,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼罕偎,長吁一口氣:“原來是場噩夢啊……” “哼很澄!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起颜及,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤甩苛,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后俏站,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體讯蒲,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年肄扎,在試婚紗的時候發(fā)現(xiàn)自己被綠了墨林。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡犯祠,死狀恐怖萌丈,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情雷则,我是刑警寧澤辆雾,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站月劈,受9級特大地震影響度迂,放射性物質(zhì)發(fā)生泄漏藤乙。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一惭墓、第九天 我趴在偏房一處隱蔽的房頂上張望坛梁。 院中可真熱鬧,春花似錦腊凶、人聲如沸划咐。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽褐缠。三九已至,卻和暖如春风瘦,著一層夾襖步出監(jiān)牢的瞬間队魏,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工万搔, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留胡桨,地道東北人。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓瞬雹,卻偏偏與公主長得像昧谊,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子酗捌,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,577評論 2 353