UE4 渲染半透明物体进深度剔除(复制物体)
在渲染半透明材質時會出現半透明物體重疊的現象,用深度剔除的方式可以解決。
很多教程有詳細講解,可以參考附錄。
主要是在此基礎上增添一個render in main pass 和Custom depth pass 勾選時候出現的顯示錯誤。
?
?
原理
利用CustomDepth 進行半透明物體深度寫入,將Custom Depth 和Pixel Depth 相比較,如果Custom Depth 小于Pixel Depth,相減以后為負數剔除,便可解決重疊問題。
優化方法:可以參考Deep Peeling 的方式,在每一層透明物體上做混合。或者根據相減之后得到的厚度信息做顏色的變化。
在UE4中實現Depth Peeling - 知乎 (zhihu.com)
操作
?首先復制一個模型,將復制出來的模型進行以下設置:
1.關閉Render in Main Pass
2.關閉Depth Pass
3.開啟Custom Depth
4.在要剔除的半透明物體的材質里輸入以下節點:
?
5.重疊模型
可以將Custom Depth 偏移一個單位距離,這樣防止PixelDepth 和Custom Depth 相等時候剔除表面。
bug解決:
當出現黑色時:
是因為原本的第二個物體(渲染深度的不透明物體)勾選了render in Depth Pass
解決方法:取消勾選render in Depth Pass,只需要將custom Depth pass勾選
附錄
?參考文章:
UE中的各種depth的解釋及應用 | 不思議な箱 (fushigi-hako.site)
UE4里的自定義深度功能 - Bill Yuan - 博客園
技術博客 | UE4透明材質的理解和應用
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
材質學習筆記之體積感半透 - 嗶哩嗶哩 (bilibili.com)
總結
以上是生活随笔為你收集整理的UE4 渲染半透明物体进深度剔除(复制物体)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: tipask火车头采集器文章和提问发布模
- 下一篇: Unity插件——文字转朗读语音RtVi