在UE中使用Stencil功能

简介: 在UE中使用Stencil功能

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

1.首先在Project Settings项目设置中开启stencil,搜索stencil关键字在Custom Depth Stencil Pass选项中设置为Enabled with Stencil:
q1.png

2.找一个用来测试Stencil效果的StaticMesh,搜索关键字custom,找到参数Renedr CustomDepth Pass勾选,并设置Stencil通道为1:
q2.png

3.接下来去调试视图中看看效果,选择Buffer Visualization-Custom Stencil,查看自定义Stencil数据调试视图:
q3.png

4.可以看见设置给StaticMesh对象的Stencil生效了:
q4.png

5.接下来要制作一个后处理特效,去应用Stencil信息从而制作效果。新建一个材质球,将材质类型设置为PostProcess后处理材质:
q5.png

6.创建节点SceneTexture拿到场景材质信息,在节点的设置面板Scene Texture Id中通过PostProcessInput0拿到画面内容,通过CustomStencil拿到Stencil信息,面板中选择对应下拉选项即可:
q6.png

7.回到场景中,找到PostProcessVolume,配置自定义后处理,添加PPSMat后处理材质球:
q7.png

8.应用后,最终效果如下,Stencil信息已生效:
q8.png

Tips:一般来讲Stencil是0-255的数值范围,后处理材质也能读到大于1的Stencil信息,所以做判断时可以用Subtract配合Clamp做插值即可:
q9.png

本文参考自UE官方教程:https://www.bilibili.com/video/BV1hA411n7vZ

相关文章
|
8月前
|
存储 搜索推荐 算法
|
8月前
|
索引 容器
UE5 学习笔记-01
UE5 学习笔记
|
8月前
|
C++
|
8月前
|
编解码 Windows
|
8月前
|
算法框架/工具
|
8月前
在UE中使用SVT(VirtualTexture)功能
在UE中使用SVT(VirtualTexture)功能
117 0
在UE中使用SVT(VirtualTexture)功能
|
8月前
|
8月前
|
9月前
UE5 ControlRig的使用
UE5 ControlRig的使用
106 0
UE5 ControlRig的使用
|
9月前
UE4/5 开启HLOD进行优化
UE4/5 开启HLOD进行优化
117 1
UE4/5 开启HLOD进行优化