news 2026/2/21 15:41:01

[Unreal shader]后处理全屏输出深度纹理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
[Unreal shader]后处理全屏输出深度纹理

UE中,全屏输出深度缓冲(Depth Buffer),最常用且最标准的方法是使用后处理材质 (Post Process Material)。这和Unity的ScriptableRenderPass逻辑类似,在UE中完全可以通过材质编辑器可视化实现。

方法一:使用后处理材质

1.1 创建后处理材质

新建材质,命名为M_VisualizeDepth。打开材质,在左侧详情面板中 (Details) 中,将Material Domain修改为Post Process

1.2 获取深度缓冲

新建SceneTexture节点,将Scene Texture Id设置为SceneDepth,获取场景深度纹理。

注:这相当于Unity Shader中采样深度纹SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, uv)。UE的SceneDepth返回的是世界单位 (厘米) 的线性距离,是浮点数(例如 1000.0 代表 10米)

1.3 处理深度缓冲值

获取SceneDepth的R通道数值,连接一个Mask节点,只取R通道。连接Divide(除法) 节点,在Divide的B输入端创建一个Constant,设为2000 (代表20米)。连接Saturate(截断) 节点 (防止超过1过曝)。连到Emissive Color,效果:0 ~ 20米是从黑到白的渐变,超过20米全是白色。

​​1.4 应后处理材质

在场景中添加PostProcessVolume组件,勾选Infinite Extent (Unbound)使其全局生效。在Details面板找到Rendering Features -> Post Process Materials,添加一项,在下拉菜单选择Asset Reference。将后期材质M_VisualizeDepth拖入。

方法二:场景捕获 (Scene Capture 2D)

创建一个 Scene Capture Component 2D (或者拖入一个 Scene Capture 2D Actor)。创建一个 Render Target 资源,赋给它的 Texture Target。关键设置:将 Capture Source 改为 SceneDepth in R。现在 Render Target 纹理里存的就是 32位的深度数据了。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/21 14:14:35

泛函分析与偏微分方程(四):弱拓扑的三个基本性质

无穷维赋范线性空间中弱拓扑的三个基本性质 以下三个命题是泛函分析中的经典结果,深刻揭示了无穷维空间中弱拓扑与范数拓扑的本质差异。 命题一:单位开球在弱拓扑下不是开集 命题:设 XXX 是一个无穷维赋范线性空间,B={ x∈X:∥x∥<1}B = \{x \in X : \|x\| < 1\}B…

作者头像 李华
网站建设 2026/2/14 16:20:04

USB3.0接口定义引脚说明与PCB层叠结构对信号完整性影响分析

USB3.0高速设计实战&#xff1a;从引脚定义到PCB叠层的信号完整性攻防战你有没有遇到过这样的情况&#xff1f;USB3.0接口焊好了&#xff0c;设备也能识别&#xff0c;但一跑高速传输就丢包、误码&#xff0c;甚至直接降级到USB2.0模式。示波器一看眼图——闭得比没睡醒还紧。别…

作者头像 李华
网站建设 2026/2/18 6:48:57

Dify平台支持的语音识别与合成集成方案

Dify平台支持的语音识别与合成集成方案 在智能客服、语音助手等AI应用日益普及的今天&#xff0c;企业面临的不再是“要不要做语音交互”&#xff0c;而是“如何快速、稳定地构建可落地的语音系统”。传统开发模式下&#xff0c;集成ASR&#xff08;语音识别&#xff09;和TTS…

作者头像 李华
网站建设 2026/2/18 10:21:13

LED亮度调节实战:使用PWM实现平滑调光的完整示例

从零实现呼吸灯&#xff1a;用PWM玩转LED无级调光你有没有注意过手机充电时那盏温柔闪烁的指示灯&#xff1f;或者智能家居面板上缓缓明灭的氛围灯&#xff1f;它们不像普通LED那样“啪”地一下亮起或熄灭&#xff0c;而是像呼吸一样柔和渐变——这种效果背后的核心技术&#x…

作者头像 李华
网站建设 2026/2/17 6:05:26

2、使用Active Record进行数据操作与统计计算

使用Active Record进行数据操作与统计计算 1. 数据库连接与模型创建 在使用Active Record与数据库交互时,首先要建立数据库连接。以下代码展示了如何使用 ActiveRecord::Base.establish_connection 方法连接到MySQL数据库: ActiveRecord::Base.establish_connection(:a…

作者头像 李华
网站建设 2026/2/15 20:15:24

Dify与Redis/MongoDB等数据库的集成方式

Dify与Redis/MongoDB等数据库的集成方式 在构建现代AI应用时&#xff0c;一个绕不开的问题是&#xff1a;如何让大语言模型&#xff08;LLM&#xff09;不仅“聪明”&#xff0c;还能“记得住”、有“知识库”、响应快且可维护&#xff1f;尤其是在开发智能客服、企业知识助手这…

作者头像 李华