UE4 透明材质深度修复

整理自:1.https://blog.csdn.net/qq_21153225/article/details/80257072

2. https://blog.csdn.net/qq_16756235/article/details/76616408

2020.3.6更新UE4官方出了篇文章,里面有案例和资源,挺不错的,详细深入讲解UE4透明原理和实现:https://www.unrealengine.com/zh-CN/tech-blog/understanding-and-application-of-transparent-materials-in-ue4

UE4开发时,会出现透明材质的物体显示不全的情况(如下图所示),原因是模型背景部分使用延迟渲染,而透明模型物体使用正向渲染,再进行叠加。所以直接使用Translucent模式会出现此错误。如下图所示。

 

 

 

解决方法一:
2019.8.7更新:发现了一个更好的方法,在UE4内容示例工程中的Material_Nodes场景示例

材质球模式、参数、效果如下:(缺点是没有阴影)

 

 

 

 

 

解决方法二:使用阿尔发抖动(推荐此方法)

 


material中,修改translucent为masked,添加Dither Temporal AA 节点,与OpacityMask连接

 

 

 

阴影、效果都较好,推荐此方法。

原视频连接:https://www.youtube.com/watch?v=ieHpTG_P8Q0

解决方法三:深度值剔除
剔除方法1(需要阴影且光照暗时使用):
准备两个相同的模型:

对第一个模型的Mesh进行设置

添加材质,如图所示

 

 

 

将两个模型重叠,效果如下:

 

剔除方法2(缺点无阴影):
创建材质如图所示:

 

在材质面板先打开Allow Custom Depth Writes,后设置Opacity Mask Clip Value为0.001.

 

在场景中设置Mesh属性,只勾选Render Custom Depth Pass

 

调整材质数值,效果如下

 

 

解决方法四:修改材质透明属性(性能开销大,非必要不使用)


效果如下



posted @ 2021-07-29 11:12  码农拔萝卜  阅读(1173)  评论(0编辑  收藏  举报