UE4_后期处理_后期处理材质及后期处理体积一
后期处理效果
在渲染之前应用于整个渲染场景的效果。
后期处理效果(Post-processing effect)使美术师和设计师能够对影响颜色、色调映射、光照的属性和功能进行组合选择,从而定义场景的整体外观。要访问这些功能,可以将一种称为 后期处理体积(Post Process Volume) 的特殊类型的体积添加到关卡。可以放置多个体积来定义特定区域的外观,也可以将其设置为影响整个场景。

一、使用后期处理体积
可以使用 放置Actor(Place Actors) 面板将一个 后期处理体积 添加到关卡。

放置到关卡中后,可以使用 细节(Details) 面板访问所有可用的属性和功能。你会发现后期处理体积根据它们的功能类型和它们的影响分为多个类目。

后期处理体积设置(Post Process Volume Settings) 是这个已放置的体积的特定设置,以及该体积如何与场景以及可能与之重叠的任何其他后期处理体积进行交互。例如,可以选中 无限范围(Infinite Extent) 属性以使此后期处理体积影响场景中的所有位置,或者不选中该属性以仅影响特定区域。当多个体积发生重叠时,你可以控制这些体积如何相互交互以从一个体积混合到另一个体积,这在它们之间具有完全不同的外观时会很有用。
| 属性 | 描述 |
|---|---|
| 优先级(Priority) | 指定此体积的优先级。在体积重叠的情况下,具有最高优先级的体积会覆盖较低优先级的体积。如果两个或多个重叠的体积具有相同的优先级,则顺序是不明确的。 |
| 混合半径(Blend Radius) | 设置用于混合的体积周围半径(采用世界单位)。例如,当步入一个体积时,体积内的外观可能与体积外的不同。混合半径会在体积周围创建一个过渡区域。 |
| 混合权重(Blend Weight) | 体积属性的影响程度。值为1具有全部效果,而值为0则没有效果。 |
| 已启用(Enabled) | 此体积是否影响后期处理。如果启用,体积的设置将用于混合。 |
| 无限范围(无边界)(Infinite Extent (Unbound)) | 是否考虑体积的边界。如果启用,体积会影响整个场景,而不考虑其体积的边界。未启用时,体积仅在其边界范围内有效。 |

二、后期处理功能和属性
通过选择放置在关卡中的一个后期处理体积来访问该体积的属性和设置。细节(Details) 面板将列出可用类目及其可用属性。
即使关卡中没有放置后期处理体积,虚幻引擎也会使用一些默认的后期处理设置。可以在 项目设置(Project Settings) 的 渲染(Rendering)> 默认设置(Default Settings) 分段中找到和配置这些默认的后期处理设置。
在开始定义场景外观之前,配置这些选项有助于进行关卡编辑以稳定自动曝光或泛光。
镜头
镜头(Lens) 类目包含的属性和设置用于模拟摄像机镜头产生的常见真实世界效果。
景深
与真实的摄像机类似,景深(Depth of Field) 根据焦点前后的距离为场景应用模糊效果。该效果用于根据深度将观看者的注意力吸引到镜头中的特定主体上。它还可以增加一种美感,使渲染的图像看起来更像照片或胶片。


有两个可用的景深选项:
- 过场动画景深(Cinematic Depth of Field)用于桌面平台和游戏主机平台。它可以提供一种胶片视觉效果,其属性与真实摄像机上的属性一致。后期处理体积提供了一些设置,但主要应该使用过场动画摄像机Actor上的摄像机属性来控制景深。
- 移动平台景深(Mobile Depth of Field)是经过优化的低成本选项,适用于移动平台。它使用高斯模糊来设置具有远近过渡区的焦点区域。

泛光
泛光(Bloom) 是真实摄像机的光照瑕疵,它还通过再现光源和反射性表面周围的辉光来增加所渲染图像的真实感。泛光是一种与其他效果(例如镜头光晕和脏污遮罩,但这些效果未涵盖在一般的泛光属性中)一起使用的效果。


曝光和局部曝光
虚幻引擎自动控制曝光,但有时将其称为"眼部适应",它会根据当前场景亮度来调整场景当前视图的明暗程度。此效果模拟人眼适应不同光照条件的体验,例如从光线昏暗的室内走到明亮的室外,或相反的情况。
曝光(Exposure) 类目包含的属性用于选择要使用的曝光方法类型,以及指定场景在给定时间内应该变得多亮或多暗。
有一个额外的曝光功能选项称为 局部曝光(Local Exposure),它有自己的类目或属性。这些属性使用边缘感知数据结构对曝光进行局部调整(在美术师控制的参数内),同时保留亮度细节。这使得它在具有挑战性的高对比度场景(例如在室内场景中通过门窗可以看到非常明亮的户外)中特别有用。
色差
色差(Chromatic Aberration) 是一种模拟真实摄像机镜头颜色变化的效果。这是光在不同点进入镜头导致RGB颜色分离的一种现象。

脏污遮罩
脏污遮罩(Dirt Mask) 是一种纹理驱动的效果,可在屏幕定义的区域中照亮泛光。它可用于创建摄像机镜头及其缺陷的特定外观,或者是镜头上的脏污和灰尘之类的东西。

摄像机
一组用于控制摄像机快门和过场动画景深的属性。
摄像机的完整属性和基于物理的属性应在过场动画摄像机Actor上进行设置。
| 属性 | 描述 |
|---|---|
| 快门速度(1/s)(Shutter Speed (1/s)) | 摄像机快门速度(以秒为单位)。 |
| ISO | 摄像机传感器对光的敏感度。 |
| 孔径(F值)(Aperture (F-stop)) | 定义摄像机镜头的开口大小。孔径为1/F值。典型的镜头会下降到f/1.2(大开口)。小数字意味着更大的光圈开口,会模糊更多的前景和背景。更大的值意味着更小的光圈,会模糊更少的前景和背景。 |
| 最大孔径(最小F值)(Maximum Aperture (min F-stop)) | 定义摄像机镜头的最大开口以控制光圈叶片的曲率。此值设置为0可获得直叶片。 |
| 光圈叶片数(Number of diaphragm blades) | 定义镜头中的光圈叶片数量(介于4和16之间)。这可以定义散景的形状。 |
镜头光晕
镜头光晕(Lens Flare) 效果是一种基于图像的技术,可模拟在查看明亮物体时由于摄像机镜头缺陷导致的光散射。

图像效果:暗角效果
暗角效果(Vignette) 是一种基于图像的效果,它创建一个无边框窗口,使图像朝边缘淡出。

颜色分级和色调映射器
颜色分级(Color Grading) 和 胶片(Film) 这两个类目共同定义了项目的大部分外观。"颜色分级(Color Grading)"类目包含用于对渲染的场景进行颜色校正的属性。
颜色分级
颜色分级(Color Grading) 类目包括用于控制对比度、颜色、饱和度等的属性,以全面控制场景外观的艺术风格。
此类目提供以下相关分段:
- 色温控制
- 用于全局、阴影、中间调和高光的色彩平衡属性
- 其他杂项属性,例如扩展色域和查找表(Lut)
有关更多信息,请参阅颜色分级和胶片色调映射器。
胶片
胶片(Film) 类目的一些属性可确保符合学院色彩编码系统(ACES)针对电视和电影设定的行业标准。这些属性将确保在多种格式和显示中保持颜色一致,同时还可以确保源材质的适应性,即不必针对未来出现的每种新媒体调整源材质。
此类目中的属性可用于设置相应的值来模拟不同类型的电影胶片。
| 属性 | 描述 |
|---|---|
| 斜率(Slope) | 设置用于色调映射器的S曲线的陡度。值越大,斜率越陡,图像越暗,而值越小,斜率越小,图像越亮。 |
| 末端(Toe) | 设置色调映射器的深色。 |
| 肩部(Shoulder) | 设置色调映射器的亮色。 |
| 黑色调(Black Clip) | 设置黑色开始切断其数值的交叉位置。 理想情况下,应该不需要对此进行调整。 |
| 白色调(White Clip) | 设置白色开始切断其数值的交叉位置。在大多数情况下,对该值的更改不易察觉。 |
有关更多信息,请参阅颜色分级和胶片色调映射器。
全局光照
全局光照 的后期处理体积设置使你可以选择要使用的动态全局光照类型,高级属性使你可以调整某些全局光照方法(例如预计算光照)的强度和颜色。
你可以从 方法(Method) 下拉菜单中选择动态全局光照方法:
- Lumen全局光照和反射(Lumen Global Illumination and Reflections)
- 屏幕空间全局光照(Screen Space Global Illumination)
- 光线追踪全局光照(Ray Tracing Global Illumination)
在 高级(Advanced) 分段下,对于 间接光照颜色(Indirect Lighting Color) 和 间接光照强度(Indirect Lighting Intensity),可以使用取色器调整间接光照颜色和强度,从而增加或减少应用的间接光照量。
有关更多信息,请参阅全局光照。
Lumen全局光照
Lumen全局光照是一个完全动态的全局光照系统,适用于所有光源、自发光材质投射光和天空光照遮挡。它可以在从毫米到公里规格的大型高细节环境中渲染具有无限反弹和间接镜面反射的交互漫反射。

屏幕空间全局光照
屏幕空间全局光照是一种低成本的动态全局光照方法,但仅限于屏幕上可见的信息。它最适合用作一项Additive功能以处理CPU Lightmass或GPU Lightmass的预计算光照数据。

反射
通过后期处理体积设置,你可以选择所需的动态反射类型以便与 方法(Method) 下拉菜单选项搭配使用。
选项包括:
- Lumen全局光照和反射
- 屏幕空间反射(Screen Space Reflections)
- 独立光线追踪反射(Standalone Ray Traced Reflections)
有关更多信息,请参阅反射环境。
Lumen反射
Lumen反射是动态光照系统Lumen全局光照和反射的一部分。它使用绝大多数功能来支持所有光源、自发光材质投射光和天空光照。
Lumen只有一个 质量(Quality) 属性,用于控制反射噪点质量的高低。较大的值会减少反射中的噪点量,但会大幅增加GPU成本。
屏幕空间反射
屏幕空间反射是一种依赖于视图的低成本反射系统,但仅限于当前屏幕视图中存在的信息。

渲染功能
以下是由后期处理体积设置并控制的通用渲染功能。
三、后期处理材质
后期处理材质(Post Process Mateirals) 允许将材质的"域(Domain)"设置为 后期处理(Post Process) 以创建屏幕视觉效果。通过使用此功能,你可以在材质中执行任何允许的操作,并影响游戏或场景的视觉外观。例如,它可用于应用损坏效果、在屏幕上创建风格化效果或视频效果。

介绍如何使用材质编辑器创建和混合自定义后期处理通道。
后期处理材质是能够用于后期处理的材质,旨在创建破坏的视觉屏幕效果、区域类型效果或 只能通过后期处理材质才能实现的游戏整体外观。
以下几个小节将介绍如何设置后期处理材质,你可以使用的一些设置,并提供了一些示例说明如何使用不同的缓冲区来设置你自己的一些后期处理材质, 混合各种后期处理材质,等等。
后期处理材质应该谨慎使用,仅在真正需要时使用。 在可能的情况下,如颜色校正或调整、泛光、景深和各种其他效果,应该使用后期处理体积中固有的设置,这些设置已经过优化,而且更有效。
使用后期处理材质
通过后期处理设置(通常用后期处理体积或摄像机设置进行定义),可以混合(所谓的)可混合资产。 目前,只有 材质(Materials) 和 材质实例(Material Instances) 是可混合资产。 该引擎提供了一些后期处理材质,但使用该功能, 你可以创建自己的 自定义后期处理,无需任何程序员的帮助。
只需将一个或多个后期处理材质指定给 可混合(Blendables) 分段中的后期处理体积。 首先按 + 添加新插槽, 在 内容浏览器(Content Browser) 中选择一个材质,然后按左箭头进行指定。 这里的顺序并不重要,未使用的插槽将被忽略。

后期处理材质的关键设置
后期处理材质需要指定材质域 后期处理:

材质只能使用 自发光颜色(Emissive Color) 来输出新颜色。 此外,还可以定义在后期处理过程中应在何处应用此通道, 如果有多个通道,则应按什么顺序处理(优先级):

| 可混合位置 | 描述 |
|---|---|
| 色调映射前(Before Tonemapping) | 当使用SceneTexture表达式的PostProcessInput0时,所有光照均采用HDR场景颜色。 此选项可以修复时间抗锯齿(TAA)和GBuffer查找的问题, 如使用深度和法线时可能发生的问题。 |
| 色调映射后(After Tonemapping) | 此选项表示将在色调映射和颜色分级完成之后进行后期处理。 这是可提高性能的首选位置,因为颜色是LDR,因此需要的精度和带宽较低。 选择此选项后,使用SceneTexture表达式的PostProcessInput2和PostProcessInput3来控制在管线中应用场景颜色的位置。 Input2在色调映射之前应用场景颜色。 Input3在色调映射之后应用场景颜色。 |
| 半透明前(Before Translucency) | 此位置在管线中甚至比半透明与场景颜色结合之前的"色调映射前(Before Tonemapping)"还要早。 注意SeparateTranslucency的复合比法线半透明要晚。 |
| 替换色调映射器(Replacing the Tonemapper) | PostProcessInput0提供HDR场景颜色,PostProcessInput1具有SeparateTranslucency(Alpha是遮罩),PostprocessInput2具有低分辨率泛光输入。 |
典型的后期处理输入来自前面的通道。 当使用 PostProcessInput0 时,可以通过SceneTexture材质表达式访问该颜色。 使用SceneColor可能不会得到正确的结果。
混合不同的材质实例
使用后期处理体积,很容易在多个后期处理材质之间设置软过渡。 这里我们使用一个标记为未绑定的体积和一个具有更大混合半径(例如,1000)的体积:

我们为每个体积指定了相同材质的不同材质实例。 颜色被指定为一个材质参数,允许对两个材质实例进行不同的设置。
材质如下:

生成材质实例:

双击材质实例设置参数:




根据摄像机位置,在混合半径范围内使用和混合一个体积的设置:

随着摄像机的移动,可以感知到两个效果设置之间的软线性过渡。
相关文章:
UE4_后期处理_后期处理材质及后期处理体积一
后期处理效果 在渲染之前应用于整个渲染场景的效果。 后期处理效果(Post-processing effect)使美术师和设计师能够对影响颜色、色调映射、光照的属性和功能进行组合选择,从而定义场景的整体外观。要访问这些功能,可以将一种称为…...
【PyQt6 应用程序】基于QtDesigner做一个用户登录页面
在当今的软件开发领域,用户界面(UI)设计和后端编程是创建现代、互动应用程序的两大重要组成部分。尤其是在开发具有用户登录功能的应用程序时,不仅要注重外观和用户体验的设计,还要确保后端逻辑的安全性和可靠性。 本文将介绍如何使用PyQt6框架结合UI设计,实现一个简单而…...
Ollama—87.4k star 的开源大模型服务框架!!
这一年来,AI 发展的越来越快,大模型使用的门槛也越来越低,每个人都可以在自己的本地运行大模型。今天再给大家介绍一个最厉害的开源大模型服务框架——ollama。 项目介绍 Ollama 是一个开源的大语言模型(LLM)服务工具…...
MySQL表的操作与数据类型
目录 前言 一、表的操作 1.创建一个表 2.查看表的结构 3.修改表 4.删除一个表 二、 MySQL的数据类型 0.数据类型一览: 1.整数类型 2.位类型 3.小数类型 4.字符类型 前言 在MySQL库的操作一文中介绍了有关MySQL库的操作,本节要讲解的是由库管理的结构——…...
mysql把某一个字段的值中的aa,替换成bb
UPDATE my_table SET my_column REPLACE(my_column, aa, bb); 例 假设my_table表在替换前的数据如下: idmy_column1hello aa2world aa aa3no aa here 执行上述UPDATE语句后,my_table表的数据将变为: idmy_column1hello bb2world bb b…...
【系统架构设计师】原型模式详解
原型模式详解 1. 什么是原型模式? 原型模式(Prototype Pattern)是一种创建型设计模式,它允许通过复制已有的对象来创建新的对象,而不是通过类实例化来创建新对象。通过这种方式,原型模式能够减少创建对象的开销,尤其是当对象的创建过程非常复杂或者耗费资源时。原型模…...
Spring @Async 深度解读:默认线程池执行器的配置与优化
在Spring中,Async注解用于异步执行方法。默认情况下,Async注解的任务是由一个线程池执行的。然而,这个默认的线程池是如何初始化的呢?本文将深入探讨这一过程,帮助你理解Spring异步任务背后的线程池执行器的初始化原理…...
手把手教你用护核纪元地心护核者用服务器开服联机
1、购买后登录服务器面板(百度莱卡云面板) 登录面板的信息在绿色的登陆面板按键下方,不是你的莱卡云账号 进入控制面板后会出现正在安装的界面,安装大约3分钟(如长时间处于安装中请联系我们的客服人员) 2、…...
Log4j 1.x如何升级到Log4j 2.x
Log4j 1.x升级到Log4j 2.x是一个涉及多个步骤的过程,主要包括删除旧版本、添加新版本依赖、配置新版本的配置文件等。以下是一个详细的升级步骤指南: 一、准备阶段 了解当前项目依赖: 检查项目中所有使用Log4j 1.x的地方,包括ja…...
CloudFlare问题与CDN问题
昨天将腾讯云的解析转移到Cloudflare中了,结果今天发现网站崩了,显示重定向次数过多,昨天估计是因为浏览器缓存,所以没有发现问题 问题一:强制HTTPS 当时看到CloudFlare的强制https时就想到了我的宝塔面板也开着强制h…...
[Linux]:文件(上)
✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:Linux学习 贝蒂的主页:Betty’s blog 1. C语言文件操作 C语言文件操作接口如下,详情可参照——C语言文…...
flutter开发多端平台应用的探索 下 (跨模块、跨语言通信之平台通道)
前文 Flutter 是一个跨平台的开发框架,它允许开发者使用相同的代码库来构建 iOS、Android、Web 和桌面应用程序。 上文flutter开发多端平台应用的探索 上(基本操作)-CSDN博客列举了一些特定平台的case(桌面端菜单,鼠…...
第15-02章:理解Class类并获取Class实例
我的后端学习大纲 我的Java学习大纲 1、Java反射机制原理图: 源代码通过Javac编译得到字节码文件,当我执行到new一个对象的时候,字节码文件会通过ClassLoader被加载,然后得到一个Class类对象,存放在堆中,加…...
【Authing身份云-注册安全分析报告-无验证方式导致安全隐患】
前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 1. 暴力破解密码,造成用户信息泄露 2. 短信盗刷的安全问题,影响业务及导致用户投诉 3. 带来经济损失,尤其是后付费客户,风险巨大,造…...
idea插件推荐之Cool Request
Cool Request是一款基于IDEA的HTTP调试工具,可以看成是轻量版的postman,它会自动扫描项目代码中所有API路径,按项目分组管理。一个类被定义为Controller且其中的方法被RequestMapping或者XXXMapping注解标注以后就会被扫描到。 对应方法左侧会…...
从卫星和飞机等不同传感器方面由QGIS 遥感分析
在地理信息科学 (GIS) 中,遥感是指从远处获取有关地球表面特征信息的行为。遥感数据是从许多不同的平台获取而来,包括卫星、飞机和具有许多不同传感器的固定仪器,包括光谱图像(相机)和激光雷达。最常见的遥感数据形式是卫星和航空图像。 为了充分实现这些照片的价值,需要…...
什么是AIGC?有哪些免费工具?
AIGC(AI Generated Content),即“人工智能生成内容”,是指通过人工智能技术自动生成各种类型的数字内容。AIGC 让机器能够根据输入的信息或数据生成符合人类需求的文本、图像、音频、视频等内容,极大提高了内容创作的效…...
腾讯云升级多个云存储解决方案 以智能化存储助力企业增长
9月6日,在腾讯数字生态大会腾讯云储存专场上,腾讯云升级多个存储解决方案:Data Platform 数据平台解决方案重磅发布,数据加速器 GooseFS、数据处理平台数据万象、日志服务 CLS、高性能并行文件存储 CFS Turbo 等多产品全新升级&am…...
Kubernetes 集群初步部署
Kubernetes 集群初步部署 目标 本手册旨在指导您在多台虚拟机上部署一个基础的Kubernetes集群,并安装必要的工具和组件。 准备工作 确保所有虚拟机已经准备好,并且具有足够的资源来运行Kubernetes集群。虚拟机操作系统版本一致,推荐使用R…...
从源码到成品:直播美颜SDK与主播美颜工具的开发全流程
本篇文章,小编将带你深入了解从源码到成品的开发全流程,探讨如何构建一个功能完善的直播美颜SDK与主播美颜工具。 一、需求分析与技术规划 在开发任何工具之前,需求分析是第一步。在美颜工具的开发过程中,需要明确以下几点&…...
生成xcframework
打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...
在rocky linux 9.5上在线安装 docker
前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...
深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南
🚀 C extern 关键字深度解析:跨文件编程的终极指南 📅 更新时间:2025年6月5日 🏷️ 标签:C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言🔥一、extern 是什么?&…...
算法笔记2
1.字符串拼接最好用StringBuilder,不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...
MFC 抛体运动模拟:常见问题解决与界面美化
在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...
并发编程 - go版
1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...
解读《网络安全法》最新修订,把握网络安全新趋势
《网络安全法》自2017年施行以来,在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂,网络攻击、数据泄露等事件频发,现行法律已难以完全适应新的风险挑战。 2025年3月28日,国家网信办会同相关部门起草了《网络安全…...
4. TypeScript 类型推断与类型组合
一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式,自动确定它们的类型。 这一特性减少了显式类型注解的需要,在保持类型安全的同时简化了代码。通过分析上下文和初始值,TypeSc…...
系统掌握PyTorch:图解张量、Autograd、DataLoader、nn.Module与实战模型
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文通过代码驱动的方式,系统讲解PyTorch核心概念和实战技巧,涵盖张量操作、自动微分、数据加载、模型构建和训练全流程&#…...
Leetcode33( 搜索旋转排序数组)
题目表述 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 < k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k1], …, nums[n-1], nums[0], nu…...
