在UE中使用Stencil功能

举报
UE5技术哥 发表于 2024/05/21 23:02:17 2024/05/21
【摘要】 Stencil是指利用深度buffer的后8位数据进行bit mask信息的绘制,从而制作类似角色mask遮罩等效果,下面就在UE中进行制作。

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



原文链接:https://blog.csdn.net/grayrail/article/details/131173457

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。