后处理与体积
自动关联目录:后处理与体积
官方依据:Post Process Effects(UE 5.8 Documentation)。本页覆盖该页全部 32 个条目,并补官方手册不写的性能代价与选型判断。 注意:TSR 单独成篇——它是后处理链的中段,也是本分支里最复杂的一环。
1. 定位
后处理体积(Post Process Volume)是"艺术导向的画面控制"入口:调色、色调映射、曝光、镜头效果,以及 GI/反射方法的选择都在这里。
一句话定位:后处理既是风格工具,也是性能开关——GI 与反射的 Method 下拉框就在这里,选错一个就是几十毫秒的差别。
2. 体积是怎么工作的
| 属性 | 作用 |
|---|---|
| Priority | 重叠时高优先级覆盖低优先级;同优先级的顺序未定义 |
| Blend Radius | 体积外围的过渡距离(世界单位),用于走进/走出时的渐变 |
| Blend Weight | 影响力的权重(1 全效,0 无效) |
| Enabled | 是否参与后处理 |
| Infinite Extent (Unbound) | 勾上则无视边界、影响整个场景 |
没有放置任何体积时,引擎也有一套默认后处理设置:Project Settings → Rendering → Default Settings。官方建议在定义画面风格之前,先在这里稳定自动曝光与 Bloom。
3. 分类速览与代价
Lens(镜头)
| 效果 | 要点 | 代价提示 |
|---|---|---|
| Depth of Field | Cinematic DOF(桌面/主机,电影感,配合 Cinematic Camera Actor)vs Mobile DOF(移动端,高斯模糊) | Cinematic 明显更贵 |
| Bloom | 模拟真实镜头的辉光,配合 Lens Flare / Dirt Mask 使用 | 与 Lens Flare、Dirt Mask 分开配置 |
| Exposure / Local Exposure | 自动曝光(眼适应);Local Exposure 用边缘感知结构做局部调整,保留亮度细节——高对比场景(室内看明亮室外)特别有用 | Local Exposure 有额外成本 |
| Chromatic Aberration | Intensity(色散强度)+ Start Offset(从画面中心多少归一化距离开始生效) | 便宜 |
| Dirt Mask | 用贴图让 Bloom 在特定区域变亮(模拟镜头脏污) | 便宜 |
| Camera | Shutter Speed / ISO / Aperture(F-stop) / Max Aperture / 光圈叶片数 4–16(决定 bokeh 形状) | 完整物理参数应在 Cinematic Camera Actor 上设 |
| Lens Flare | BokehSize 的性能代价是 radius × radius;Threshold 应尽可能高,避免对暗到看不见的内容做模糊 | 这两条是明确的性能指导 |
| Vignette | 暗角,Intensity 越大越强,0 关闭 | 便宜 |
Color Grading 与 Film
| 类别 | 内容 |
|---|---|
| Color Grading | 色温、Global/Shadows/Midtones/Highlights 的色彩平衡、扩展色域、LUT |
| Film(ACES) | Slope(S 曲线陡度,大→更暗)、Toe(暗部)、Shoulder(亮部)、Black Clip、White Clip。官方说 Black Clip 理想情况下不该动,White Clip 变化通常很微妙 |
Global Illumination(这里是最贵的开关)
| 方法 | 可调项 | 状态 |
|---|---|---|
| Lumen GI | 只有 Final Gather Quality(降噪,越大越贵) | 见 Lumen |
| Screen Space GI (SSGI) | 后处理里无可调项,用 r.SSGI.* | 低成本,但仅限屏幕内信息;适合与烘焙光叠加 |
| Ray Tracing GI | Type(Brute Force 慢而准 / Final Gather 快而糙)、Max Bounces、Samples Per Pixel | 已弃用,未来可能移除 |
Reflections
| 方法 | 可调项 | 状态 |
|---|---|---|
| Lumen Reflections | 只有 Quality(降噪,越大越贵) | 见 Lumen |
| Screen Space Reflections | Intensity、Quality(0 无过渡 / 50 默认 / 100 最高)、Max Roughness(官方建议 0.8,更小更快) | 低成本,仅限屏幕内 |
| Ray Tracing Reflections | Max Roughness / Max Bounces / Samples Per Pixel / Shadows(含 area shadow,更贵)/ Include Translucent Objects | 已弃用,未来可能移除 |
Rendering Features
| 特性 | 要点 |
|---|---|
| Post Process Materials | Domain 设为 Post Process 的材质,可做全屏效果(受伤效果、风格化等)。插入位置由 Blendable Location 决定,且不同位置的运行分辨率不同(见 TSR) |
| Ambient Cubemap | 用 cubemap 从远处球形照亮场景,mip 存预模糊版本,可同时用于镜面与漫反射。遮蔽能力有限(只有 SSAO)——表现天空光应该用 Sky Light,不是它 |
| Ambient Occlusion(SSAO) | Intensity、Radius、Static Fraction(0 是免费的,不额外加一个 pass)、Radius in WorldSpace、Fade Out Distance/Radius、Power、Bias(3 对平面效果好但会减少细节)、Quality、Mip Blend/Scale/Threshold、Temporal Blend Weight |
| Ray Tracing AO | Enabled / Samples Per Pixel / Intensity / Radius。不受屏幕空间限制 |
| Motion Blur | Amount、Max(屏幕宽度百分比)、Target FPS(让运动模糊与实际帧率解耦;0 则取决于实测帧率)、Per Object Size(默认 4%,更小 → 更多 draw call) |
| Ray Tracing Translucency | 已弃用 |
| Path Tracing | 渐进式硬件加速,物理正确;View Modes > Path Tracing |
| Film Grain | 强度(可分别控制阴影/中间调/高光)、最大范围、Texel Size、贴图 |
4. Blendable Location 与分辨率(容易踩)
后处理材质插在不同位置,运行分辨率不一样:
| Blendable Location | 运行分辨率 |
|---|---|
| Scene Color Before DOF | 渲染分辨率 |
| Scene Color After DOF | 渲染分辨率 |
| Translucency After DOF | 渲染分辨率 |
| SSR Input | 显示分辨率(用 TSR/TAAU 时) |
| Scene Color Before Bloom | 显示分辨率 |
| Replacing the Tonemapper | 显示分辨率 |
| Scene Color After Tonemapping | 显示分辨率 |
判断:前三个在 TSR 之前 → 渲染分辨率;后面的在 TSR 之后 → 显示分辨率,成本明显更高(见 TSR 第 6 节关于隐藏成本的说明)。
5. 代价与权衡
| 选择 | 收益 | 代价 | 什么时候不该用 |
|---|---|---|---|
| Lumen GI/Reflections | 全动态、无需烘焙 | 固定 GPU 成本 | 低端平台改用烘焙 + SSGI/SSR |
| SSGI / SSR | 便宜 | 只能看到屏幕内的信息,屏幕外一律丢失 | 需要反射画面外内容时不可用 |
| 光追 GI / 反射 / 半透明 | 质量最高 | 官方已标记弃用 | 新项目不应再基于它们设计 |
| Cinematic DOF | 电影感,参数与真实镜头对齐 | 明显更贵 | 移动端用 Mobile DOF |
| Lens Flare | 真实感 | 代价 = radius²,Threshold 太低会白白模糊暗部 | 阈值一定要调高 |
| Local Exposure | 高对比场景救星 | 额外成本 | 对比度不极端的场景不必开 |
| Ambient Cubemap | 便宜的环境项 | 遮蔽只有 SSAO,且不能表现天空 | 天空光用 Sky Light |
| Path Tracing | 物理正确 | 极慢,只适合离线/参考 | 实时不可用 |
6. 踩坑与排查
| 坑 | 现象 | 怎么验证 |
|---|---|---|
| 重叠体积效果不稳定 | 优先级相同 | 同优先级顺序未定义,给不同优先级 |
| 体积没生效 | 不在边界内 | 勾 Infinite Extent 或扩大体积 |
| 没放体积也有后处理 | 用的是项目默认设置 | Project Settings → Rendering → Default Settings |
| 反射里看不到屏幕外的东西 | 用了 SSR | SSR 是屏幕空间的,换 Lumen 或 Reflection Capture |
| 光追相关选项不见了 | 功能已弃用 | 官方标记 RT GI/反射/半透明为 deprecated |
| 天空用 Ambient Cubemap 表现不好 | 该用 Sky Light | Ambient Cubemap 遮蔽能力有限 |
| Lens Flare 很卡 | BokehSize 大 + Threshold 低 | 代价是 radius²;Threshold 调高 |
| 后处理材质突然变贵 | Blendable Location 选在 TSR 之后 | 检查是不是 SSR Input / Before Bloom / Tonemapper 系列 |
| 运动模糊随帧率变化 | Target FPS = 0 | 设成目标帧率让它解耦 |
| Per Object Size 调太小 | draw call 变多 | 默认 4%,更小会显著增加 draw call |
| AO 在远处出问题 | Bias/Precision | 调 Bias;用 Fade Out Distance |
| Lumen 有噪点 | Final Gather Quality 太低 | 调高,代价是 GPU |
7. 排查顺序
1. 画面风格问题 → 分类定位(Lens / Color Grading / Film / GI / Reflections / Features)
2. 性能问题 → 先看 GI 与 Reflections 的 Method(这两个是最贵的开关)
3. 后处理材质贵 → 检查 Blendable Location 是否在 TSR 之后
4. Lens Flare 贵 → BokehSize 与 Threshold
5. 反射/GI 看不到屏幕外 → 是不是用了屏幕空间方案
6. 与 TSR 相关的画质问题 → [TSR](/2d3808d4.html)参考
许可协议:CC BY
作者:Davids
本文链接:https://hustjjd.github.io/dbc776b6.html
更新于:2026年10月10日