Unity 后处理(Post-Processing) -- (1)概览
在Unity中,后处理(Post-Processing)是在相机所捕捉的图像上应用一些特殊效果的过程,后处理会让图像视觉效果更好(前提是做的好)。
这些效果的范围有非常细微的颜色调整,也包括整体的美术风格的大修,可以让场景看起来更加真实或风格化,或者只是变得更好看。

本专题所使用的案例资源包在这里下载:
https://connect-prd-cdn.unity.com/20230208/02f068b4-43ff-4008-96e5-ef1d41135fe5/CreativeCore_Postprocessing_2021.3LTS.zip
下载后解压缩,然后用Unity Hub打开这个本地工程,打开本地工程的方法参考:
Project setup processes - Unity Learn
什么是后处理?
我们都会用手机拍照,但很多时候我们拍的原始的相片都达不到我们想要的效果。比如照片可能亮度不够,颜色不饱和或者对比度不好等。对于这种情况,我们可以在照片拍出来后对其进行调整,让照片看起来更加好看,这个过程就是后处理。
来看一个例子,原图如下:

下面的图片是对其加了不同滤镜后的效果:



在Unity中,我们也可以做类似的处理。在相机将图像渲染出来后,我们可以进行更多处理来让图像变得更好看。
评估视觉风格(Visual Style)和视觉保真度(Visual Fidelity)
我们进行后处理有两个主要的原因:达成想要的视觉风格以及确保视觉保真度。
视觉风格
视觉风格是指项目所呈现的风格化的观感。
下面有两种不同视觉风格的例子,观察这两个场景并试着回答如下问题:
- 你会如何描述这两个场景的视觉风格?
- 为了达成场景的视觉风格,你认为这两个场景的图像进行了哪些编辑(后处理)?


以下信息仅供参考:
- 第一副图是暗黑未来风格。为了达成这种风格,画面颜色比较暗,场景是朦胧的,但也有非常明亮闪烁的灯光。
- 第二幅图是轻快明亮的卡通风格。为了达成这种风格,所有颜色都很生动,背景做了模糊化处理。
视觉保真度
视觉保真度是指场景对它所想要表现的世界的还原有多精准。如果使用物理世界中的相机和Unity中的虚拟相机,要想捕捉到环境的优美之处,是比较困难的。
这样说可能有点抽象,我们以拍照片为例。我们应该都碰到过这种情况,到一个风景如画的地方旅游时,我们掏出手机拍了一张照片,但拍出来的照片和我们看到的景色有差距。要么由于相机设置问题导致画面看起来太亮或太暗,要么相机的颜色还原不够精准导致画面不够鲜明。有些问题可以通过后处理来修正。
以下是一个场景在进行后处理前后的对比图,尝试回答以下问题:
- 这两幅图有什么特别不同之处?
- 这个不同之处是如何改进视觉保真的?

以下信息仅供参考:
- 右图颜色更加生动(对比观察棚屋的橙色)。场景的部分区域亮度变得较小,这样就能让我们看清楚黄色沙滩和云的形状。
- 在真实世界中,我们的眼睛会自动适应强光,使得我们能够看到细节。右图更加接近于人眼对这个场景的感知。
后处理和性能之间的平衡
视觉风格和保真度都很重要,但通过后处理方式来达成这两个目标并非免费的午餐。由于这些图片是实时地被渲染和处理,每种添加的效果都会对处理器造成性能影响。虽然理想情况下,我们恨不得把所有可用的效果都加上,但我们必须在性能和视觉效果上进行权衡。
打开后处理工程项目并运行
1. 在Unity Editor中,项目窗口中找到并打开Scenes目录下的TutorialScene_PostProcessing。

2. 点击运行,然后用W、A、S、D键在场景中进行移动,看看效果。

在一个全局Volume上启用后处理
前面提到说,后处理是在一个相机已经抓到的图像上进行处理。这意味着后处理可以按照每个相机为基础来进行应用。我们先确保Main Camera启用后处理。
1. 在Hierarchy窗口中选择Main Camera,然后在其Inspector面板里的Camera组件中,选择Rendering折叠菜单里的Post Processing复选框,启用后处理。

为了实际应用这些新的效果,我们需要添加一个叫做体积(Volume)的东西到场景中。一个Volume指定了场景中的某个特定区域。当相机处于这个Volume中时,后处理会影响到相机渲染的画面。

2. 在Hierarchy中,点击右键,选择Volume->Global Volume,将这个游戏物体重命名为更加形象的名字比如“PostProcessing Global Volume”。
目前还没有发生任何事情。这是因为我们还需要应用一个后处理配置文件(post-processing Profile)到Volume里。这个Profile定义了有哪些效果要应用到Volume里。后面我们会从零开始创建这个Profile,目前我们使用官方教程中的示例Profile即可。
3. 在Volume组件中,使用物体选择器选择PostProcessingProfile_Sample文件。

当选完这个文件后,看看场景是否有发生较大的变化。
简单了解一下后处理Profile
以下两张图是未使用后处理和使用了后处理之后的效果对比图,观察并回答以下问题:
- 这两幅图具体差异是什么?
- 这些差异对整体视觉风格有什么影响?

以下信息仅供参考:
当后处理启用时:
- 角落中红色和浅蓝色盒子看起来在发光。
- 所有阴影都更暗了,和环境其他部分形成了更强的对比。
- 所有颜色都更加鲜艳了。
这个后处理Profile给场景一种更加有趣和卡通化的风格。这和下图中的波普艺术的效果是类似的。

关于后处理的一点提示信息
由于后处理应用于已经被渲染好的一副图像上,它要求光照、材质或相机要按照一定方式来创建,以便允许产生特定的效果。
举例来说,如果一个材质并没有事先被设置为发光(使用发光材质),我们不可能通过后处理来让它有发光的效果。

探索:试着玩一下后处理Profile
我们会注意到,当我们为Volume组件选择了示例Profile之后,有一些新的模块出现在了它的下方。

我们首先可以尝试对所勾选的一些模块进行不勾选和勾选,对比一下效果。
然后尝试调整一下每个模块中的各个子属性,看看效果。
关于这些模块的详细说明,如果想深入了解,可以参考一下官方文档:
Effect List | Universal RP | 7.1.8
相关文章:
Unity 后处理(Post-Processing) -- (1)概览
在Unity中,后处理(Post-Processing)是在相机所捕捉的图像上应用一些特殊效果的过程,后处理会让图像视觉效果更好(前提是做的好)。 这些效果的范围有非常细微的颜色调整,也包括整体的美术风格的大…...
Ajax + axios + 常用状态码(笔记)
Ajax 求关注😭 一、客户端与服务器相关的概念 1.1 客户端与服务器 1.1.1 服务器 服务器: 负责 存放 和 对外提供 资源 的 电脑本质: 就是一台电脑,只不过 性能 要比别的电脑 高 1.1.2 客户端 客户端: 在上网过程…...
python运算符
本章目的在于帮助大家了解 python中的常用的 算数运算符和赋值运算符 其实 算数运算符就是一些简单运算公式 我们可以编写代码如下 print("1 1 ",11) print("2 - 1 ",2 - 1) print("3 * 3 ",3 * 3) print("4 / 2 ",4 / 2) print(&…...
Python 列表(List)
Python中的列表(List)是一种有序的集合,可以包含任意数量的元素,元素可以是数字、字符串或其他对象,甚至包含其他列表。 以下是一些常见的列表操作: 1. 创建列表: 要创建一个列表,可以使用方括号 [] 将元…...
Java设计模式-装饰模式
简介 装饰模式在Java领域是一种常见的设计模式,它能够在不改变对象原有结构的情况下,动态地为对象添加新的功能。它通过封装原有对象,在运行时动态地为对象添加新的行为或者修改原有行为,以扩展对象的功能。这种方式避免了继承的…...
桐乡学历提升-学历到底有什么用呢?
造成“学历和能力,哪个更重要?”的问题,主要是现在有很多人,学历高,而其他方面的能力很差,甚至连基本的生活能力都没有,而更多的人则把有学历就看成有能力,对此现象弄不明白了&#…...
15天学习MySQL计划(运维篇)分库分表-监控-第十四天
15天学习MySQL计划分库分表-监控-第十四天 1.介绍 1.问题分析 随着互联网及移动互联网的发展,应用系统的数据量也是成指数式增加,若采用但数据进行数据存储,存在以下性能瓶颈: IO瓶颈:热点数据太多,数…...
Melis4.0[D1s]:8.显示测试:图片格式和透明度
文章目录 1.准备素材图片1.1 测试图片像素格式的软件RawViewer.exe1.1.1 使用方法 1.2 自己生成测试图片 2.D1s显示引擎介绍(不保证正确)2.1 D1s 可以有2个独立的display device输出(可以同时接2个显示器)2.2 D1s 的 DISP0 有2个通…...
【论文阅读】Pseudo-Labeling and Confirmation Bias in Deep Semi-Supervised Learning
论文下载 GitHub bib: INPROCEEDINGS{,title {Pseudo-Labeling and Confirmation Bias in Deep Semi-Supervised Learning},author {Eric Arazo and Diego Ortego and Paul Albert and Noel E OConnor and Kevin McGuinness},booktitle {IJCNN},year {2020},pages …...
三次输错密码后,系统是怎么做到不让我继续尝试的?
故事背景 忘记密码这件事,相信绝大多数人都遇到过,输一次错一次,错到几次以上,就不允许你继续尝试了。 但当你尝试重置密码,又发现新密码不能和原密码重复: 相信此刻心情只能用一张图形容: 虽…...
医学影像系统源码,三维后处理和重建 PACS源码
医学影像系统源码,三维后处理和重建 PACS源码 医学影像系统由PACS系统、RIS系统组成,提供与HIS的接口(HL7或其他类型)。 主要功能介绍 信息预约登记 支持对患者、检查项目、申请医生、申请单据、设备等信息进行管理。且支持检查…...
golang汇编之函数(四)
基本语法 函数标识符通过TEXT汇编指令定义,表示该行开始的指令定义在TEXT内存段。TEXT语句后的指令一般对应函数的实现,但是对于TEXT指令本身来说并不关心后面是否有指令。我个人觉得TEXT和LABEL定义的符号是类似的,区别只是LABEL是用于跳转…...
成都爱尔李晓峰主任:眼睛干到发出求救信号,快注意!
眼睛总感觉痒痒的,时不时干涩、酸胀、畏光? 它在提醒你,它太干了救救它! 干眼如何判断? 干眼症是由于泪液的质和量异常或者泪液的流体动力学障碍而导致眼表无法保持湿润的一种眼病。会发生眼睛干涩、酸胀、畏光、灼热感、异物感、看东西容易…...
HiEV独家 | 比亚迪高阶智驾终于来了 ,新款汉首发,多车型将搭载
作者 | 德新 编辑 | 马波 比亚迪上马高阶辅助驾驶,首先从高速NOA开始。 HiEV获悉,今年第三季度,比亚迪将在新的 汉车型 上,搭载高速领航辅助驾驶功能(俗称高速NOA)。继汉之后,王朝系列唐…...
全面解析Linux指令和权限管理
目录 一.指令再讲解1.时间相关的指令2.find等搜索指令与grep指令3.打包和压缩相关的指令4.一些其他指令与热键二.Linux权限1.Linux的权限管理2.文件类型与权限设置3.目录的权限与粘滞位 一.指令再讲解 1.时间相关的指令 date指令: date 用法:date [OPTION]… [FOR…...
C++ enum 和enum class
文章目录 C enum 和 enum class共同点区别 C enum 和 enum class 在C中, enum 是一种定义枚举类型的方法。 一个枚举是一个整数值的命名集合。 可以通过以下方式创建一个枚举类型: enum Color {RED,GREEN,BLUE };这里我们定义了一个名为 Color 的枚举类…...
设计模式之中介者模式
参考资料 曾探《JavaScript设计模式与开发实践》;「设计模式 JavaScript 描述」中介者模式JavaScript 设计模式之中介者模式 定义 在我们生活的世界中,每个人每个物体之间都会产生一些错综复杂的联系。在应用程序里也是一样,程序由大大小小…...
DJ5-8 磁盘存储器的性能和调度
目录 5.8.1 磁盘性能简述 1、磁盘的结构和布局 2、磁盘的类型 3、磁盘数据的组织和格式 4、磁盘的访问过程 5、磁盘访问时间 5.8.2 磁盘调度算法 1、先来先服务 FCFS 2、最短寻道时间优先 SSTF 3、扫描算法(电梯算法)SCAN 4、循环扫描算法 …...
springboot+vue留守儿童爱心网站(源码+文档)
风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的留守儿童爱心网站。项目源码以及部署相关请联系风歌,文末附上联系信息 。 💕💕作者:风…...
数字设计小思 - 谈谈非理想时钟的时钟偏差
写在前面 本系列整理数字系统设计的相关知识体系架构,为了方便后续自己查阅与求职准备。在FPGA和ASIC设计中,时钟信号的好坏很大程度上影响了整个系统的稳定性,本文主要介绍了数字设计中的非理想时钟的偏差来源与影响。 (本文长…...
美团外卖mtgsig与waimai_sign双层签名逆向解析
1. 这不是“爬虫教程”,而是一份反向工程现场笔记你搜到这篇内容,大概率正卡在某个调试窗口前:抓包看到mtgsig和waimai_sign两个参数像两堵墙,无论怎么改请求头、换UA、清缓存,返回永远是{"code":403,"…...
从开题到定稿零焦虑:okbiye AI 论文写作,帮你把毕业季的 “大山” 变成坦途
okbiye-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/AI PPT毕业论文 - Okbiye智能写作https://www.okbiye.com/ai/bylw 毕业季的深夜,宿舍台灯下的屏幕亮着刺眼的光,文档里的字数停留在三位数,而 deadline 正一天天逼近。你是…...
基于Netburner NANO54415构建工业级嵌入式Web服务器:从硬件选型到广域监控实战
1. 项目概述:一个为广域与本地监控而生的嵌入式Web服务器如果你正在寻找一个能部署在野外、工厂角落或者任何需要远程数据采集与控制场景下的嵌入式Web服务器方案,并且对市面上那些要么性能孱弱、要么开发门槛极高的开发板感到厌倦,那么这个基…...
如何深度定制索尼相机:Sony-PMCA-RE逆向工程工具完整指南
如何深度定制索尼相机:Sony-PMCA-RE逆向工程工具完整指南 【免费下载链接】Sony-PMCA-RE Reverse Engineering Sony Digital Cameras 项目地址: https://gitcode.com/gh_mirrors/so/Sony-PMCA-RE 索尼相机逆向工程工具Sony-PMCA-RE是一款专业的开源工具&…...
原神私服新纪元:KCN-GenshinServer图形化服务端全功能解析
原神私服新纪元:KCN-GenshinServer图形化服务端全功能解析 【免费下载链接】KCN-GenshinServer 基于GC制作的原神一键GUI多功能服务端。 项目地址: https://gitcode.com/gh_mirrors/kc/KCN-GenshinServer 你是否曾想过拥有一个完全由自己掌控的提瓦特大陆&am…...
Nacos CVE-2021-29441漏洞深度解析:User-Agent绕过与鉴权失效
1. 这个漏洞不是“改个Header就能登录”,而是Nacos鉴权体系的一道裂缝CVE-2021-29441这个编号在Nacos社区里曾被轻描淡写地归为“低危”,直到我接手一个金融客户线上告警——他们的Nacos集群在凌晨三点被批量创建了37个高权限用户,所有操作日…...
Godot 4.2 + C# 避坑指南:手把手教你打包发布你的第一个2D游戏到Steam
Godot 4.2 C# 避坑指南:从开发到Steam发布的完整实战手册当你终于完成心爱的2D游戏开发,准备向全世界展示你的作品时,打包发布这个看似简单的环节往往会成为独立开发者最大的噩梦。特别是使用Godot 4.2搭配C#的项目,从导出设置到…...
USB数据隔离器DIY:物理切断数据线,防范充电攻击
1. 移动设备充电安全:一个被忽视的“物理后门”你可能每天都在做这件事:手机或平板电脑电量告急,随手拿起一根数据线,插在办公室的公共电脑、机场的充电站,甚至是朋友提供的充电宝上。这看起来再平常不过了,…...
为开源项目OpenClaw配置Taotoken作为其大模型服务后端
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 为开源项目OpenClaw配置Taotoken作为其大模型服务后端 OpenClaw 是一个功能强大的开源工具,它允许开发者便捷地调用各类…...
安卓用户如何免费获取大模型API密钥并开始调用
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 安卓用户如何免费获取大模型API密钥并开始调用 对于安卓开发者或移动端技术爱好者而言,直接体验和调用多种大模型的能力…...
