URP | 深度屏幕霧效

效果
簡(jiǎn)單效果

增加貼圖效果

目的
使用深度和貼圖模擬霧效。
使用貼圖不同通道制作云霧效果。
制作思路
第一步,使用深度計(jì)算和模型接觸部分柔和過(guò)度,具體細(xì)節(jié)參考?URP | Depth 深度 - 嗶哩嗶哩 (bilibili.com)
第二步,使用貼圖制作出不同厚度云的效果。
準(zhǔn)備部分
創(chuàng)建一個(gè)場(chǎng)景,在場(chǎng)景中增加一個(gè)模型片

定義3個(gè)控制屬性
柔和大小,霧的顏色,控制在柔和一點(diǎn)。
在頂點(diǎn)著色器階段計(jì)算
齊次空間轉(zhuǎn)換到屏幕空間。
片元著色器階段
這里和上面的方法都一樣。詳細(xì)查看深度。
輸出
效果

屬性調(diào)整

全部代碼

云霧效果
制作思路,使用一張貼圖,調(diào)整不同的UV實(shí)現(xiàn)不同的平鋪方式,在疊加。就可以實(shí)現(xiàn)不一樣的紋理。
讓倆層紋理不同的UV速度移動(dòng),模擬云層的運(yùn)動(dòng)。
準(zhǔn)備素材
準(zhǔn)備一張?jiān)旗F貼圖

制作Shader
在上面的基礎(chǔ)上增加貼圖。
因?yàn)樾枰猆V動(dòng)畫(huà),把前面的UV移動(dòng)速度的函數(shù)復(fù)制過(guò)來(lái)。
定義一個(gè)Vector類(lèi)的的變量,控制倆套UV的不同的移動(dòng)速度。
_Niose_R_Tiling ? _Niose_G_Tiling ?控制平鋪次數(shù)。
定義倆套貼圖,讀取不同通道。
在把倆套貼圖混合
_Blend 控制倆個(gè)紋理的混合。
效果

深度和紋理一起輸出看一下效果
效果

目前邊緣有切邊效果,我們?cè)黾诱谡帧?/p>
整體貼圖效果

這樣我們使用Alpha通道作遮罩通道。
效果

總結(jié)
深度的第一種的方法適合制作類(lèi)似紀(jì)念碑谷這個(gè)風(fēng)格的深度霧效。
使用一張貼圖不同通道實(shí)現(xiàn)不同紋理,這樣的方式時(shí)候灰度圖,帶有顏色不能這樣使用。
這樣還有一個(gè)問(wèn)題,如果修改需要打開(kāi)PS在PS里修改效果。
資料參考
unity urp 實(shí)現(xiàn)類(lèi)似紀(jì)念碑谷內(nèi)的霧_嗶哩嗶哩_bilibili