Unity后处理(Post-processing)

Unity post-processing 就像是对图片采用滤镜一样(如下图对比)对当前场景显示做一定的显示处理,使得场景更漂亮、有趣或者有型。

视觉风格与视觉保真

游戏场景后处理能够达到所需的视觉风格(visual style)同时也保证视觉保真(visual fidelity)。下面是两种视觉风格:黑色的未来风格 vs 光亮的卡通风格

下面两图是后处理前后的视觉保真对比:

项目练习

打开项目

1.下载附件项目,在unity中打开项目,在CreativeCore_Postprocessing>Scenes 文件夹中打开 TutorialScene_PostProcessing 场景,然后点击屏幕正中间上方的 play (三角形图案)按键,然后操作 WASD 按键,在场景中漫游,熟悉该场景。

2. 选择 Hirarchy 窗口中的MainCamera,在右侧的 Inspector中,点击 Rendering 属性,找到 Post Processing,点击边上的空格,然后自动展开了Post Processing的设置:

Global Volume

3. 要进行后处理,需要在场景中添加 Volume 来定义场景中需要后处理的区域。Volume 分为全局(Global Volume)和部分(Local Volume)。先尝试使用 Global Volume,在Hirarchy 窗口中点击鼠标右键,在弹出的菜单中找到 Volume > Global Volume, 点击添加 Global Volume

4. 在 Hirarchy 窗口中选择新建的 Global Volume,然后在右侧的 Inspector 窗口中找到 Profile 属性,点击右边的选择图标,在弹出的 Select Volume Profile 窗口选择不同的Profile,可以看到场景中的视觉风格变化

下图是选择了 PostProcessingProfile_Sample profile 的前后对比:

  •         在上方的角落里红色和浅蓝色的箱子散发了光芒;
  •         场景整体显得暗淡,影子也显著了

可以点击 Play 按键,再次在场景中漫游,查看场景中的视觉变化。

5. 选择了Profile后,在下方显示了 Bloom, Chromatic Aberration, Color Adjustments, Tonemapping, Lift Gamma Gain 共5种后处理效果参数设置。可以自己修改各个参数设置,看看场景中的后处理效果。

具体的后处理效果可以参看unity文档(Effect List | Universal RP | 7.1.8)

Bloom: 创建从图像中明亮区域边缘延伸的光条纹,产生光晕效果;

Chromatic Aberration: 色差会在图像的明暗部分之间产生色边。它模仿真实相机镜头无法将所有颜色汇聚到同一点时产生的色彩失真。

Color Adjustments: 使用此效果来调整最终渲染图像的整体色调、亮度和对比度。

Tonemapping: 色调映射是将图像的 HDR 值重新映射到新值范围的过程。其最常见的目的是使动态范围较低的图像看起来具有较高的范围,具有如下3个模式:

        •:如果不想应用色调映射,请使用此选项。
        •中性:如果只希望对色调和饱和度的影响最小,请使用此选项。这通常是进行广泛颜色分级的良好起点。
        • ACES:使用此选项可应用参考 ACES 色调映射器的近似值,以获得更具电影感的外观。它比中性对比度更高,并且会影响实际色调和饱和度。如果您使用此色调映射器,Unity 将在 ACES 颜色空间中执行所有分级操作,以获得最佳精度和结果。

Lift Gamma Gain: 执行三向颜色分级,调整轨迹球下方的滑块以抵消该范围的颜色亮度。

财产描述
Lift使用它来控制暗色调。这会使阴影产生更夸张的效果。
• 使用轨迹球选择 URP 应将暗色调的色调转换为哪种颜色。
• 使用滑块来抵消轨迹球颜色的亮度。
Gamma使用它来通过幂函数控制中间色调。
• 使用轨迹球选择 URP 应使用哪种颜色来改变中间色调的色调。
• 使用滑块来偏移轨迹球颜色的亮度。
Gain使用此功能可增强信号并使高光更亮。
• 使用轨迹球选择 URP 用于改变高光色调的颜色。
• 使用滑块偏移轨迹球颜色的亮度。

定制后处理 profile

6. 点击 Profile 属性右边的 New 按键,场景将会恢复原来的设置,新建的profile自动命名为Global Volume,点击编辑框中的名字可以自动在文件夹中高亮显示该文件。选择该文件,更改文件名 “PostProcessing - bright and colorful”

Bloom

7. 选择更名后 PostProcessing - bright and colorful,在右侧 Inspector 窗口中点击 “Add Override" 按键,选择 Post-processing > Bloom

8. 在Bloom参数中激活Threshold 和 Intensity,设置 Intensity值为1.0,可以看到场景中的红色和浅蓝色的盒子散发光晕,绿色盒子后面的光圈更亮了。

Tonemapping

9. 再次点击 Add Override 按键,添加 Post-processing > Tonemapping,激活Mode,分别选择 3 个模式:None, Neutral, ACES, 看看哪个模式更好。

None:

Neutral:

ACES:

这是三个模式的对比:

Color Adjustments

10. 再次点击 Add Override, 添加 Post-processing> Color Adjustments, 有如下5个参数:

如下是一些后处理效果的参数设置

  • 颜色亮丽型

        tonemapping: Neutral

        Color Adjustments:激活contrast 和 saturation,并增加这两个参数的值。

  • 反乌托邦的绿色

         tonemapping: ACES

        Color Adjustments:减小saturation值,color filter 设置为绿色

  • 月夜效果

相关参数设置如下:

Lift Gamma Gain

11. 再次点击 Add Override, 添加 Post-processing> Lift Gamma Gain, 有如下3个参数

Lift :黑暗的色调

Gamma:中色调

Gain:明亮的两点

采用上述图中的设置,可以得到如下的后处理效果。可以尝试不同的值得到不同的效果。

Film Grain

12. 再次点击 Add Override, 添加 Post-processing> File Grain, 将 3 个参数都激活,如下图,得到的效果图中增加了影视颗粒,使得场景看起来显得有点古老。

大家可以尝试增加别的效果,看看每个参数如何影响场景效果。

Local Volume

Local volume 能够在场景中选定的一部分区域进行后处理。这个后处理可以设置在游戏玩家进入选定的区域时,场景变暗,然后在游戏玩家离开该区域时,场景亮度复原,如下视频所示:

local volume

13. 在 Hirarchy 窗口中选择 Cube,即上方右边角落里面的发光盒,然后在右侧Inspectgor窗口中,点击 Add Component按键,在弹出窗口中点击 Volume

14. 在 Volume中设置参数,将Mode中Global改为Local, Blend distance 设置为 10,Profile中点击右边的圆圈,在弹出窗口中选择 PostProcessing Profile_Gritty Sci Fi 后处理设置文件,该后处理设置将提供一个暗黑的未来场景设置。

15. 点击整个窗口正中间上方的 Play 按键,进入游戏模式,操控 WASD 按键,漫游到上述右边角落里面的发光盒,在靠近该发光盒的时候,可以看到周围的环境变暗淡了,再离开该发光盒的时候,可以看到周围的环境恢复了原来的光亮。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

文件解析漏洞

IIS解析漏洞 在windows Server 2003安装iis 1.IIS6.X 1.1 目录解析 在网站下建立文件夹的名字为 .asp/.asa 的文件夹&#xff0c;其目录内的任何扩展名的文件都被IIS当作asp文件来解析并执行。 先创建一个1.asp文件夹 再创建一个1.txt 里面写 <%now()%> 2.1 畸形文件…

DTU、RTU和边缘计算网关的联系与区别

在工业4.0发展浪潮中&#xff0c;物联网助力工业逐渐向智能化发展&#xff0c;各种工业设备相互连接起来形成物联网。而传输层作为物联网体系中十分重要的一环&#xff0c;它是连接物理世界与数字世界的桥梁&#xff0c;是数据的第一入口。 其中&#xff0c;我们经常会使用到三…

jQuery入门(五)Ajax和json

一、Ajax 简介 AJAX(Asynchronous JavaScript And XML)&#xff1a;异步的 JavaScript 和 XML。 本身不是一种新技术&#xff0c;而是多个技术综合。用于快速创建动态网页的技术。 一般的网页如果需要更新内容&#xff0c;必需重新加载个页面。 而 AJAX 通过浏览器与服务器进行…

windows内存泄漏检查汇总

VLD(Visual Leak Detector) 下载 官方下载地址2.5 另一分支2.7 安装 点击运行安装

苹果手机升级iOS18测试版本后使用体验不好?怎么降级?

近期苹果发布了诸多的iOS18版本给用户提前尝鲜测试&#xff0c;许多果粉们都迫不及待的选择了升级&#xff0c;但是有不少的果粉升级时没有考虑到设备适配性问题&#xff0c;导致升级之后手机变得有些卡顿&#xff0c;使用体验不好时&#xff0c;想要降级回到正式的版本&#x…

ubuntu安装nginx以及php的部署

1.安装依赖包 apt-get install gcc apt-get install libpcre3 libpcre3-dev apt-get install zlib1g zlib1g-dev sudo apt-get install openssl sudo apt-get install libssl-dev 2.安装nginx cd /usr/local mkdir nginx cd nginx tar -xvf nginx-1.21.6.tar.gz 3.编译…

【考研高数】反函数的那些事

在这里给同学们推荐来自「荒原之梦考研数学」网的三篇文章&#xff0c;分别是反函数的性质汇总&#xff0c;以及两道相关习题&#xff0c;有需要加强这部分练习的同学&#xff0c;可以点击下方链接&#xff0c;在「荒原之梦考研数学」官网中打开对应的文章&#xff1a; 《反函…

【算法】双指针-OJ题详解1

双指针-OJ题 移动零&#xff08;点击跳转&#xff09;原理讲解代码实现 复写零&#xff08;点击跳转&#xff09;原理讲解代码实现 快乐数&#xff08;点击跳转&#xff09;原理讲解代码实现 盛最多水的容器&#xff08;点击跳转&#xff09;原理讲解代码实现 有效三角形的个数…

C语言自定义类型结构体与位段超详解

文章目录 1. 结构体类型的声明1. 1 结构体声明1. 2 结构体变量的创建和初始化1. 3 结构体的特殊声明1. 3 结构体的自引用 2. 结构体内存对齐2. 1 对齐规则2. 2 为什么存在内存对齐2. 3 修改默认对齐数 3. 结构体传参4. 结构体实现位段4. 1 什么是位段4. 2 位段成员的内存分配4.…

吴恩达老师机器学习作业-ex7

导入库&#xff0c;读取数据&#xff0c;查看数据类型等进行分析&#xff0c;可视化数据 import matplotlib.pyplot as plt import numpy as np import scipy.io as sio#读取数据 path "./ex7data2.mat" data sio.loadmat(path) # print(type(data)) # print(data…

Java | Leetcode Java题解之第316题去除重复字母

题目&#xff1a; 题解&#xff1a; class Solution {public String removeDuplicateLetters(String s) {boolean[] vis new boolean[26];int[] num new int[26];for (int i 0; i < s.length(); i) {num[s.charAt(i) - a];}StringBuffer sb new StringBuffer();for (in…

nginx续1:

八、虚拟主机配置 基于域名的虚拟主机 [rootserver2 ~]# ps -au|grep nginx //查看进程 修改Nginx服务配置&#xff0c;添加相关虚拟主机配置如下 1. [rootproxy ~]# vim /usr/local/nginx/conf/nginx.conf 2. .. .. 3. server { 4. listen …

第15课 Scratch少儿编程 入门篇:师生问候

师生问候 故事背景&#xff1a; 魔法学院的期末考核刚刚考完&#xff0c;魔法老师在教室里碰到小明&#xff0c;老师问小明考的怎么样&#xff1f; 程序原理&#xff1a; 找一个教室的背景&#xff0c;小精灵角色和魔法师的角色&#xff0c;将魔法师的角色造型左右反转&…

MyBatis 源码学习 | Day 1 | 了解 MyBatis

什么是 MyBatis 在对一项技术进行深入学习前&#xff0c;我们应该先对它有个初步的认识。MyBatis 是一个 Java 持久层框架&#xff0c;用于简化数据库的操作。它通过 XML 或注解的方式配置和映射原始类型、接口和 Java POJO&#xff08;Plain Old Java Objects&#xff0c;普通…

如何理解复信号z的傅里叶变换在频率v<0的时候恒为0,是解析信号

考虑例子2.12.1的说法。 首先我尝试解释第二个说法。需要注意一个事实是 实函数f的傅里叶变换F的实部是偶函数&#xff0c;虚部是奇函数。如图所示&#xff1a; 注意的是这个图中虽然是离散傅里叶变换的性质&#xff0c;但是对于一般的傅里叶变换的性质是适用的。 推导过程如下…

5款免费写作生成软件,自动生成原创文章很简单

在人工智能时代的今天&#xff0c;创作者面对写作不再是一件令人望而生畏的事情。随着AI技术的不断发展&#xff0c;涌现出了许多优秀的免费写作生成软件&#xff0c;让自动生成原创文章变得轻松简单。以下为大家详细介绍5款备受赞誉的免费写作生成软件&#xff0c;下面跟随小编…

深度学习DeepLearning Inference 学习笔记

神经网络预测 术语 隐藏层神经元多层感知器 神经网络概述 应当选择正确的隐藏层数和每层隐藏神经元的数量&#xff0c;以达到这一层的输出是下一层的输入&#xff0c;逐层变得清晰&#xff0c;最终输出数据的目的。 在人脸识别的应用中&#xff0c;我们将图片视作连续的像…

pytest测试框架之http协议接口测试

1 接口测试 日常测试中接口测试是一项重要的工作&#xff0c;尤其是http协议的接口测试更加普遍,比如一些常用的测试框架或者工具&#xff08;robotframework框架&#xff0c;testng框架&#xff0c;postman等&#xff09;都支持http接口的测试&#xff0c;而这节内容主要介绍…

【PythonCode】力扣Leetcode36~40题Python版

【PythonCode】力扣Leetcode36~40题Python版 前言 力扣Leetcode是一个集学习、刷题、竞赛等功能于一体的编程学习平台&#xff0c;很多计算机相关专业的学生、编程自学者、IT从业者在上面学习和刷题。 在Leetcode上刷题&#xff0c;可以选择各种主流的编程语言&#xff0c;如C…