UE4_后期处理_后期处理材质及后期处理体积一

news2024/12/30 3:02:26

后期处理效果

在渲染之前应用于整个渲染场景的效果。

后期处理效果(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)的体积:

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

材质如下:

生成材质实例:

双击材质实例设置参数:

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

随着摄像机的移动,可以感知到两个效果设置之间的软线性过渡。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2124001.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[转]什么是工作流,flowable 与 Activiti对比

工作流 什么是工作流工作流是复杂版本的状态机Java工作流开源框架工作流对比 Activiti 设计器Flowable 兼容性Camunda 设计器兼容性:小结:社区活跃度 FlowableActivitiCamunda总结 什么是工作流 工作流,是指“业务​过程的部分或整体在​计算…

面试题:try和finally中都出现了return语句会发生什么情况

答:会导致提前返回,即执行finally中的return语句,try中的return语句不会被执行。 原因:当try中有return语句时,会延迟返回,即先执行完finally的代码,再执行try的return语句,这样做的…

在windows下抓空包(monitor网卡+wareshark+MNM)

当我们的电脑是通过网线联网时,我们可以通过wareshark来抓取通过网口发送和接收到的包,其中包括单播包、多播包以及广播包等等,只要这个包是通过目标网口的。 但是,如果是无线包呢?我们的无线包其实也是通过无线网卡来…

多目标优化及其MATLAB实现

目录 引言 多目标优化的数学模型 非劣解与Pareto前沿 多目标优化求解方法 MATLAB多目标优化工具 多目标规划中的重要概念 表格总结:常见多目标优化方法及其特点 MATLAB在多目标优化中的应用 结论 引言 多目标优化问题在实际应用中非常常见,因为…

ai学习(2)分词、分词算法、加入注意力机制的Seq2Seq结构模型(编码器、解码器、注意力机制)、日期转换实战代码

文章目录 参考书《多模态大模型:算法、应用与微调》1.分词2.分词算法主流的三种分词算法,BPE分词算法(GPT-2、BART、Llama模型)、WordPiece分词算法(BERT模型)、SentencePiece分词算法(ChatGLM、…

Linux常见指令、ls、pwd、cd、touch、mkdir、rmdir、rm等的介绍

文章目录 前言一、ls二、pwd三、cd四、touch五、 mkdir六、rmdir七、rm总结 前言 Linux常见指令、ls、pwd、cd、touch、mkdir、rmdir、rm等的介绍 一、ls 列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息 -a 列出目录下的所有文件,…

蓝鹏测控更换新滑台供应商,实现数据平稳性显著提升

近日,蓝鹏测控技术有限公司宣布了一项重要的供应链优化举措——成功更换了其核心设备——滑台的供应商。这一变革不仅优化了公司的生产流程,还显著提升了产品的数据平稳性,达到了惊人的5%提升,标志着蓝鹏测控在提升产品质量与性能…

代码随想录算法训练营第五十三天 | 110.字符串接龙 ,105.有向图的完全可达性 ,106.岛屿的周长

目录 110.字符串接龙 思路 方法一: 广搜 105.有向图的完全可达性 思路 1.确认递归函数,参数 2.确认终止条件 3.处理目前搜索节点出发的路径 方法一:广搜 106.岛屿的周长 思路 解法一: 解法二: 方法一 …

Python | Leetcode Python题解之第398题随机数索引

题目: 题解: class Solution:def __init__(self, nums: List[int]):self.nums numsdef pick(self, target: int) -> int:ans cnt 0for i, num in enumerate(self.nums):if num target:cnt 1 # 第 cnt 次遇到 targetif randrange(cnt) 0:ans …

15 三数之和

解题思路: \qquad 要找到所有和为0的三元组,使用暴力去解的话时间复杂度为 O ( N 3 ) O(N^3) O(N3),但是这样会超时。若三数之和为0,那么只要知道其中的两个,就可以知道第三个数的值。进而可以想到用map这样的数据结…

Patch 35586779: WLS PATCH SET UPDATE 10.3.6.0.231017

以上补丁请自行去oracle官网下载,需要技术支持的请联系:https://item.taobao.com/item.htm?spm2013.1.w4023-17257245948.4.19611db9bzrKBx&id608692494369

C语言 | Leetcode C语言题解之第397题整数替换

题目&#xff1a; 题解&#xff1a; //第一种动态规划:超时 // class Solution { // public: // int integerReplacement(int n) { // vector<int>dp(n1,0); // dp[1]0; // for(int i2;i<n;i){ // if(i%20){ // …

Ubuntu查看系统用户信息

0 Preface/Foreword 1 查看方式 1.1 查看系统用户 getent passwd getent: Get entries for Name Service Switch Libraries. 该命令会列出系统上所有用户的详细信息&#xff0c;包括用户名、密码、用户ID&#xff08;UID&#xff09;、组ID&#xff08;GID&#xff09;、用户描…

Python用MarkovRNN马尔可夫递归神经网络建模序列数据t-SNE可视化研究

原文链接&#xff1a;https://tecdat.cn/?p37634 本文聚焦于利用马尔可夫递归神经网络&#xff08;MarkovRNN&#xff09;结合树库展开建模工作。MarkovRNN 通过整合马尔可夫特性与离散随机变量来深入探索递归神经网络中的随机转换机制&#xff0c;旨在高效处理具有复杂潜在信…

轻量级模型解读——GhostNet系列

GhostNet由华为诺亚方舟实验室于2019年11月底提出&#xff0c;投稿于cvpr2020&#xff0c;后面2022年&#xff0c;2024年相继提出更新版本GhostNetv2和GhostNetv3。 它们参数量、复杂度及ImageNet的top1结果对比情况如下&#xff1a; 文章目录 1、GhostNetv11.1 Ghost Module1…

如何阅读李冬梅老师《数据结构》

根据《如何阅读一本书》第五章&#xff1a;主动阅读的基础&#xff1a;阅读者要提出的4个基本问题&#xff1f; 以第2章&#xff0c;线性表为例&#xff1a; &#xff08;1&#xff09;本章主要在谈些什么&#xff1f;例如第二章简介&#xff0c;读完这一章可以自己试着写个简…

基于STM32设计的18650锂电池电量(电压/电流)检测系统——采用电阻分压法、均值滤波及ADC测量—文末工程资料下载

基于STM32设计的锂电池电量&#xff08;电压/电流&#xff09;检测 前言&#xff1a;使用STM32F103C8T6的ADC&#xff0c;和电阻分压法及均值滤波来测量18650锂电池的电压&#xff0c;并在OLED显示屏上显示电池电压值&#xff0c;求出电池电压值即求出电池的电流值和电量值。本…

数据库系统概论笔记(持续更新)

一、概念 1、数据 数据库中存储的基本对象。 2、数据库 定义&#xff1a;长期存储在计算机内、有组织、可共享的大量数据的集合。 3、数据库管理系统 定义&#xff1a;是位于用户与操作系统之间的一层数据管理软件。 主要功能&#xff1a; 1&#xff09; 数据定义功能 …

C++ | Leetcode C++题解之第395题至少有K个重复字符的最长子串

题目&#xff1a; 题解&#xff1a; class Solution { public:int longestSubstring(string s, int k) {int ret 0;int n s.length();for (int t 1; t < 26; t) {int l 0, r 0;vector<int> cnt(26, 0);int tot 0;int less 0;while (r < n) {cnt[s[r] - a];…

QStackedWidget类的使用

本文介绍QStackedWidget类的使用。 StackedWidget控件在Qt应用程序开发过程中用的还是比较多的&#xff0c;配合按钮可以实现多个页面之间相互切换&#xff0c;方便了应用程序的开发&#xff0c;本文简要介绍QStackedWidget类实际使用过程中的常用方法&#xff0c;并给出一个简…