在UE中使用Stencil功能
Stencil是指利用深度buffer的后8位数据进行bit mask信息的绘制从而制作类似角色mask遮罩等效果下面就在UE中进行制作。1.首先在Project Settings项目设置中开启stencil搜索stencil关键字在Custom Depth Stencil Pass选项中设置为Enabled with Stencil2.找一个用来测试Stencil效果的StaticMesh搜索关键字custom找到参数Renedr CustomDepth Pass勾选并设置Stencil通道为13.接下来去调试视图中看看效果选择Buffer Visualization-Custom Stencil查看自定义Stencil数据调试视图在UE5高版本中需要输入控制台命令先输入 - ViewMode VisualizeBuffer后输入 - r.BufferVisualizationTarget CustomStencil退出可输入 - ViewMode Lit4.可以看见设置给StaticMesh对象的Stencil生效了5.接下来要制作一个后处理特效去应用Stencil信息从而制作效果。新建一个材质球将材质类型设置为PostProcess后处理材质6.创建节点SceneTexture拿到场景材质信息在节点的设置面板Scene Texture Id中通过PostProcessInput0拿到画面内容通过CustomStencil拿到Stencil信息面板中选择对应下拉选项即可7.回到场景中找到PostProcessVolume配置自定义后处理添加PPSMat后处理材质球8.应用后最终效果如下Stencil信息已生效Tips:一般来讲Stencil是0-255的数值范围后处理材质也能读到大于1的Stencil信息所以做判断时可以用Subtract配合Clamp做插值即可本文参考自UE官方教程https://www.bilibili.com/video/BV1hA411n7vZ