在UE中使用Stencil功能

Stencil是指利用深度buffer的后8位数据进行bit mask信息的绘制,从而制作类似角色mask遮罩等效果,下面就在UE中进行制作。

1.首先在Project Settings项目设置中开启stencil,搜索stencil关键字在Custom Depth Stencil Pass选项中设置为Enabled with Stencil:
在UE中使用Stencil功能_第1张图片

2.找一个用来测试Stencil效果的StaticMesh,搜索关键字custom,找到参数Renedr CustomDepth Pass勾选,并设置Stencil通道为1:
在UE中使用Stencil功能_第2张图片
3.接下来去调试视图中看看效果,选择Buffer Visualization-Custom Stencil,查看自定义Stencil数据调试视图:
在UE中使用Stencil功能_第3张图片
4.可以看见设置给StaticMesh对象的Stencil生效了:
在UE中使用Stencil功能_第4张图片
5.接下来要制作一个后处理特效,去应用Stencil信息从而制作效果。新建一个材质球,将材质类型设置为PostProcess后处理材质:
在UE中使用Stencil功能_第5张图片
6.创建节点SceneTexture拿到场景材质信息,在节点的设置面板Scene Texture Id中通过PostProcessInput0拿到画面内容,通过CustomStencil拿到Stencil信息,面板中选择对应下拉选项即可:
在UE中使用Stencil功能_第6张图片
7.回到场景中,找到PostProcessVolume,配置自定义后处理,添加PPSMat后处理材质球:
在UE中使用Stencil功能_第7张图片
8.应用后,最终效果如下,Stencil信息已生效:
在UE中使用Stencil功能_第8张图片


Tips:一般来讲Stencil是0-255的数值范围,后处理材质也能读到大于1的Stencil信息,所以做判断时可以用Subtract配合Clamp做插值即可:
在UE中使用Stencil功能_第9张图片
本文参考自UE官方教程:https://www.bilibili.com/video/BV1hA411n7vZ

你可能感兴趣的:(UE4,学习,编辑器,动画,虚幻,ue4)