半透明水材質(zhì)


利用半透明著色模型制作水材質(zhì)
透明度
設(shè)置透明度有兩種方式,一種是直接通過透明度節(jié)點(diǎn)設(shè)置,另一種是通過場(chǎng)景顏色設(shè)置,因?yàn)橐稣凵?,所以我們用第二種。
如果要設(shè)置UV,一定要用Screen Position節(jié)點(diǎn)。

與顏色相乘

在此之前,要用Depth Fade深度值,也就是水的深淺部分,結(jié)果用于Lerp,使淺水區(qū)和深水區(qū)有不一樣的顏色

反射
因?yàn)檫@個(gè)沒有反射功能,所以就拿了一張CubeMap來模擬反射。當(dāng)然,如果真的要實(shí)施反射也是可以的,加個(gè)反射平面,不過性能開銷又會(huì)增加,權(quán)衡利弊再選擇使用哪一種方式吧

加上菲涅爾效果,用于控制反射的強(qiáng)弱

折射
折射就比較簡(jiǎn)單粗暴了,就是通過擾動(dòng)采樣的場(chǎng)景顏色來達(dá)到這種效果

鬼影的原因
在做折射擾動(dòng)時(shí)會(huì)出現(xiàn)重影的情況,原因是這個(gè)Lerp節(jié)點(diǎn)。當(dāng)我不使用Lerp時(shí),并不會(huì)出現(xiàn)重影。我懷疑可能是引擎自身計(jì)算先后順序的原因,目前我還沒找到解決辦法,只能通過調(diào)節(jié)淺水區(qū)的擾動(dòng)幅度來減少鬼影的視覺效果。

半透明和單層水 兩種著色模型的性能開銷對(duì)比


