2020.3.6更新 虚幻官方文章,里面有案例和资源,详细深入讲解UE4透明原理和实现:UE4透明材质的理解和应用 - Unreal Engine
在UE4/UE5开发中,透明材质的使用非常常见,但也经常会遇到一些问题。本教程将详细介绍如何在UE4/UE5中制作各种透明材质效果,以及如何解决可能遇到的问题。
透明材质显示不全的问题
在UE4开发时,有时会出现透明材质的物体显示不全的情况,这是因为模型背景部分使用延迟渲染,而透明模型物体使用正向渲染,再进行叠加。所以直接使用Translucent模式会出现此错误。如下图所示:
解决方法一:使用阿尔发抖动(推荐)
在材质中,修改translucent为masked,添加Dither Temporal AA 节点,与OpacityMask连接。这种方法的阴影和效果都较好,推荐使用。
material中,修改translucent为masked,添加Dither Temporal AA 节点,与OpacityMask连接
阴影、效果都较好,推荐此方法。
视频连接:https://www.youtube.com/watch?v=ieHpTG_P8Q0
解决方法二:深度值剔除(4.25以上版本失灵)
深度值剔除有两种方法,一种需要阴影且光照暗时使用,另一种无阴影。
剔除方法1(需要阴影且光照暗时使用)
准备两个相同的模型,对第一个模型的Mesh进行设置,添加材质,将两个模型重叠,效果如下:
添加材质,如图所示
将两个模型重叠,效果如下:
剔除方法2(缺点无阴影):
创建材质如图所示:
在材质面板先打开Allow Custom Depth Writes,后设置Opacity Mask Clip Value为0.001.
在场景中设置Mesh属性,只勾选Render Custom Depth Pass
调整材质数值,效果如下
整理自:两个重叠模型模拟双pass,顺便解决透明乱序问题_魁梧的抠脚大汉-CSDN博客
解决方法三:修改材质透明属性(性能开销大,非必要不使用)
修改材质透明属性也可以解决透明材质显示不全的问题,但性能开销较大,非必要不使用。
效果如下
解决方法四:使用SpiralBlur节点
使用SpiralBlur节点可以实现透明模糊效果。
解决方法五:
2019.8.7更新:在UE4内容示例工程中的Material_Nodes场景示例
材质球模式、参数、效果如下:(缺点是没有阴影)
2021.8.3,使用SprialBlur节点进行透明模糊效果
以上就是UE4/UE5中透明材质显示不全问题的一些解决方法。如果你在使用过程中遇到任何问题,欢迎评论。
整理自:1.链接已删除