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与主播美颜工具。 一、需求分析与技术规划 在开发任何工具之前,需求分析是第一步。在美颜工具的开发过程中,需要明确以下几点&…...
超短脉冲激光自聚焦效应
前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...
Neo4j 集群管理:原理、技术与最佳实践深度解析
Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...
解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错
出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...
Linux 内存管理实战精讲:核心原理与面试常考点全解析
Linux 内存管理实战精讲:核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用,还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...
沙箱虚拟化技术虚拟机容器之间的关系详解
问题 沙箱、虚拟化、容器三者分开一一介绍的话我知道他们各自都是什么东西,但是如果把三者放在一起,它们之间到底什么关系?又有什么联系呢?我不是很明白!!! 就比如说: 沙箱&#…...
Vue3 PC端 UI组件库我更推荐Naive UI
一、Vue3生态现状与UI库选择的重要性 随着Vue3的稳定发布和Composition API的广泛采用,前端开发者面临着UI组件库的重新选择。一个好的UI库不仅能提升开发效率,还能确保项目的长期可维护性。本文将对比三大主流Vue3 UI库(Naive UI、Element …...
PostgreSQL 与 SQL 基础:为 Fast API 打下数据基础
在构建任何动态、数据驱动的Web API时,一个稳定高效的数据存储方案是不可或缺的。对于使用Python FastAPI的开发者来说,深入理解关系型数据库的工作原理、掌握SQL这门与数据库“对话”的语言,以及学会如何在Python中操作数据库,是…...
LeetCode 0386.字典序排数:细心总结条件
【LetMeFly】386.字典序排数:细心总结条件 力扣题目链接:https://leetcode.cn/problems/lexicographical-numbers/ 给你一个整数 n ,按字典序返回范围 [1, n] 内所有整数。 你必须设计一个时间复杂度为 O(n) 且使用 O(1) 额外空间的算法。…...
篇章一 论坛系统——前置知识
目录 1.软件开发 1.1 软件的生命周期 1.2 面向对象 1.3 CS、BS架构 1.CS架构编辑 2.BS架构 1.4 软件需求 1.需求分类 2.需求获取 1.5 需求分析 1. 工作内容 1.6 面向对象分析 1.OOA的任务 2.统一建模语言UML 3. 用例模型 3.1 用例图的元素 3.2 建立用例模型 …...
K8S认证|CKS题库+答案| 8. 沙箱运行容器 gVisor
目录 8. 沙箱运行容器 gVisor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、官网找模板 3)、创建 RuntimeClass 4)、 将命名空间为 server 下的 Pod 引用 RuntimeClass 5)…...
