UE4 渲染半透明物体进深度剔除(复制物体)
在渲染半透明材質(zhì)時(shí)會(huì)出現(xiàn)半透明物體重疊的現(xiàn)象,用深度剔除的方式可以解決。
很多教程有詳細(xì)講解,可以參考附錄。
主要是在此基礎(chǔ)上增添一個(gè)render in main pass 和Custom depth pass 勾選時(shí)候出現(xiàn)的顯示錯(cuò)誤。
?
?
原理
利用CustomDepth 進(jìn)行半透明物體深度寫(xiě)入,將Custom Depth 和Pixel Depth 相比較,如果Custom Depth 小于Pixel Depth,相減以后為負(fù)數(shù)剔除,便可解決重疊問(wèn)題。
優(yōu)化方法:可以參考Deep Peeling 的方式,在每一層透明物體上做混合。或者根據(jù)相減之后得到的厚度信息做顏色的變化。
在UE4中實(shí)現(xiàn)Depth Peeling - 知乎 (zhihu.com)
操作
?首先復(fù)制一個(gè)模型,將復(fù)制出來(lái)的模型進(jìn)行以下設(shè)置:
1.關(guān)閉Render in Main Pass
2.關(guān)閉Depth Pass
3.開(kāi)啟Custom Depth
4.在要剔除的半透明物體的材質(zhì)里輸入以下節(jié)點(diǎn):
?
5.重疊模型
可以將Custom Depth 偏移一個(gè)單位距離,這樣防止PixelDepth 和Custom Depth 相等時(shí)候剔除表面。
bug解決:
當(dāng)出現(xiàn)黑色時(shí):
是因?yàn)樵镜牡诙€(gè)物體(渲染深度的不透明物體)勾選了render in Depth Pass
解決方法:取消勾選render in Depth Pass,只需要將custom Depth pass勾選
附錄
?參考文章:
UE中的各種depth的解釋及應(yīng)用 | 不思議な箱 (fushigi-hako.site)
UE4里的自定義深度功能 - Bill Yuan - 博客園
技術(shù)博客 | UE4透明材質(zhì)的理解和應(yīng)用
https://mp.weixin.qq.com/s/nKVC3GGyb05FvYbCLkQrbg?st=&vid=1688857671235409&cst=0D9DA1EDBE7A5BE5B6C2C6FF4218936B9CB66752883DBC835FD5C4C3FD12E1339A77003FA42A8482156C3DD912698209&deviceid=16c2d11b-244c-4c5d-a72e-8c68955596b9&version=3.1.11.3009&platform=win
材質(zhì)學(xué)習(xí)筆記之體積感半透 - 嗶哩嗶哩 (bilibili.com)
總結(jié)
以上是生活随笔為你收集整理的UE4 渲染半透明物体进深度剔除(复制物体)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: tipask火车头采集器文章和提问发布模
- 下一篇: Unity插件——文字转朗读语音RtVi