【UE】材质与半透明 - 01.将半透明作为后期材质

在先导篇中,我们简单梳理了半透明(Translucent)在整个渲染管线中的定位。最后总到:半透明被我视为一种"后期"。

作为正式开篇,本文将探讨如何利用半透明材质来制作类似后期处理(Post Process)的特效,以及在这一过程中需要注意的技术细节。

在半透明材质中复现后期逻辑

我们可以直接使用后期思路来使用半透明。但有些时候直接照搬 Post Process Material 的节点往往行不通,我们需要解决几个核心差异。

解决 SceneTexture 报错

在半透明材质中直接使用 SceneTexture:PostProcessInput0SceneTexture:SceneColor 等输入节点时

由于半透明与后期材质在节点上略有差异,通常会遇到如下报错:

复制代码
[SM6] SceneTexture expressions cannot use post process inputs or scene color in non post process domain materials

这个机制产生的原因,是因为渲染管线的执行顺序。

正如先导篇所述,UE 的半透明渲染发生在不透明(Opaque)物体之后,但在后期处理(Post Process)之前。

如果试图在半透明阶段读取 SceneColor,由于此时屏幕颜色尚未完全渲染完毕(因为自己正在渲染中),会产生循环依赖的问题。

引擎为了支持这种需求,会在透明 Pass 开始前,把当前的 SceneColor 复制一份到一个临时纹理中。

此时,你应当需按照如下节点来使用这个临时纹理:

在半透明中计算 场景世界位置 SceneWorldPosition

另一个显著差异在于 WorldPosition 节点的行为:

  • 在后期材质中WorldPosition 通常指代当前像素对应的场景世界位置。
  • 在半透明材质中Absolute World Position 输出的是当前半透明模型网格顶点/像素的世界位置,而非其背后的场景位置。

在半透明材质中的Absolute World Position

如果我们需要像后期材质那样获取"背景场景的世界位置"(例如做深度扫描、世界坐标映射贴图等),需要手动利用 场景深度(SceneDepth)相机位置 进行重建:

为什么要在半透明中制作后期效果

1. 性能优化:将计算局限在特定区域

全屏后期处理(Post Process)会对屏幕上的每一个像素进行计算,开销大。而使用半透明模型载体,可以将复杂的像素着色计算(Pixel Shader)限制在模型的体积范围内,大幅节省 GPU 开销。

2. 灵活控制:利用模型形态定义特效范围

由于是基于 Mesh 的,我们可以利用模型本身的形状、UV 动画或顶点色来精确控制特效的发生区域。例如制作局部的热扭曲、力场护盾或特定区域的风格化滤镜,这比用后期材质配合 CustomDepth Mask 要直观且灵活得多。

3. 渲染管线优势:享受后续的渲染特性

这是半透明材质独特的优势。因为它的渲染时机在 Post Process 之前,所以半透明特效渲染出的结果,依然可以参与后续的渲染流程。这意味着你的特效可以被 TAA(时间性抗锯齿)、Bloom(泛光)、甚至某些 GI(全局光照)和反射效果所处理,从而更好地融入环境。

相比之下,Post Process 材质通常处于管线极后方,很难再被其他效果修饰。

假自发光

文章的最后,作为抛砖引玉,这里演示制作一个假的点光源后处理,可以很好的代表半透明做后期效果的优势:






相关推荐
归真仙人1 天前
【UE项目迁移银河麒麟(Linux)局域网会话搜索失败排查】
ue5·ue4·vr·unreal engine·银河麒麟
fanfan_hongyun3 天前
UE5.1 应用InWebSocketClient-main 接收websocket信息
ue5
远离UE43 天前
Chaos、WFC 与 FJA 原理与区别笔记
ue5
平行云4 天前
3D应用推流太贵太慢?ImmerShare Lite:利用本地算力实现极简一键分享
unity·ue5·实时云渲染·云桌面·像素流·云游戏·串流
fanfan_hongyun4 天前
UE5.1 VaRest插件 读取json http请求
ue5
SpiderCodeJ5 天前
【UE5】- UE MCP :在UE5.8编辑器中内置链接Codex
ue5·codex·智能体·mcp
来让爷抱一个7 天前
2026 纹理一致性实战:贴图不许花脸,百智云精灵图把材质契约写进素材包
人工智能·机器学习·材质·贴图
weixin_404679318 天前
ue5 widget 之间的蓝图通讯
ue5
zr想努力8 天前
GAS学习(UE5自用)
学习·ue5
爱上网的小舟9 天前
着色器缓存大小设置多少合适?N卡A卡缓存路径与清理方法
缓存·着色器