当前位置: 首页 > news >正文

(02)Unity HDRP Volume 详解

1.概述

这篇文章主要针对HDRP中的Volume和Volume Post-processing进行解释,针对于各个组件只能进行部分参数的解释,具体的信息可参考官方资料,这里只是对官方文档的图片效果补充以及笔者自己的理解。

看到这里进入正文,请确保你的Unity项目正确应用了HDRP,可参考上一篇文章或官网。

2.Volume框架

Volume是HDRP高清渲染管线的一个框架,可以理解为在所有的效果调试(如泛光、白平衡、景深等)都是在Volume组件下进行调试的

1)新建Volume,在Hierarchy面板下右键Volume-Global Volume全局体积

Global Volume:影响全局的体积框架

Box Volume:局部范围内受Volume影响,Sphere、ConvexMesh同理

Sky and Fog Volume:天空和雾效的体积框架

Custom Pass Volume:遮挡显示及描边效果

下图是Box Volume的效果截图,对它添加了一个CubeMap,在操作相机进入到这个碰撞器范围内的时候就会显示这个Box Volume的天空,而在碰撞器范围外则会显示Global Volume的天空设置:

Sky and Fog Volume效果:

在创建这个体积框架时会发现场景发生了一些细微的变化,天空变的更暗,地面变成了土黄色

可以发现新建的Sky and Fog Volume自动添加了Visual Environment(视觉环境)、Physically Based Sky(基于物理的天空)、Fog(雾)三个模块。而场景变暗就是因为使用的是基于物理的天空,完全模拟地球的属性。

此时如果想把场景整体调整到比较明亮的状态共有三种方法(原本有四种方法,但只在2019.2版本中存在第四种),分别是Gradient Sky(渐变天空)、HDRI Sky(HDRI天空)、Physically Based Sky(基于物理的天空)。其中渐变天空目前看来对天空的可调性不高,但比较适合做2D项目;HDRI天空是添加一个天空盒,然后可以对天空盒进行二次编辑;物理天空在上一段已经解释过了;从字面意思来看最nb的天空无疑是物理天空,但相对来说对调试者的要求也很高,所以不太建议没有基础的同学去使用,那么现在再看这三个天空,最合适的就是HDRI天空,本篇也会基于HDRI天空做详解。

在选择某一个天空时,需要在Volume框架下方的Add Override添加相应天空模块

Volume框架内的所有可添加列表:

好的关于Volume这里就暂且解释这么多,具体的以及更多的内容可参考官方文档体积 (Volume) | High Definition RP | 7.4.3 (unity3d.com)

3.Post-processing 后处理

官方解释:高清渲染管线 (HDRP) 包含自己专用的后期处理实现方案。这个实现方案内置于 HDRP 中,因为无需安装任何其他包。

此实现方案使用体积 (Volume) 系统。向摄像机添加后期处理效果的方式与添加任何其他体积覆盖 (Volume Override) 的方式相同。请注意,HDRP 已在默认设置体积配置文件 (Default Settings Volume Profile) 中启用一些后期处理效果。高清渲染管线 (High Definition Render Pipeline) 中的后期处理 | High Definition RP | 7.4.3 (unity3d.com)

简单理解就是Post-processing是HDRP中内置的后期处理实现方案列表。

模块解释:

1.Bloom 泛光:可实现极其明亮的光线压制住了摄像机的效果,也可实现镜头污渍,下图(后续附图均为)为没有使用泛光和使用泛光的对比图。关注点:整体画面

2.Channel Mixer 通道混合器:修改红、绿、蓝的颜色通道,将画面效果更偏向于一种颜色。关注点:整体画面

3.Chromatic Aberration 色差:模拟镜头无法将所有颜色融合到同一点时产生的效果,就是使边缘有从红色到蓝色的效果。关注点:天空

4.Color Adjustments 颜色调整:用于调整色调、亮度和对比度。关注点:整体画面

5.Color Curves 颜色曲线:用于调整色调、亮度、饱和度的高级方法,可以通过曲线调整,应该是面向专业人员而设计,效果同4。

6.Depth Of Field 景深:模拟相机聚焦,可以通过参数调整距离相机更近或更远的地方失焦。关注点:天空

7.Film Grain 胶片颗粒:模拟镜头上物理形成的小颗粒。关注点:整体画面

8.Lens Distortion 镜头失真:扭曲整体画面来模拟真是相机镜头。关注点:整体画面

9.Lift Gamma Gain 提升、伽马、增益:对不同颜色分级分别进行颜色和亮度的调整,他们分别是暗色调的颜色和亮度、中间调的颜色和亮度、高光块的颜色和亮度。关注点:整体画面。

10.Shadows Midtones Highlights 阴影、中间调、高光:因为这部分与9属于一类,所以给提前到了这里,这种方式区别于Lift Gamma Gain的地方在于更精确的定义Lift提升(对应Shadows阴影)、Gamma伽马(对应Midtones中间调)、Gain增益(对应Highlights高光)

11.Motion Blur 运动模糊:一个物体在镜头内或者镜头平移速度过快导致的物体模糊效果。关注点:Cube

12.Panini Projection 帕尼尼投影:在大视野中渲染透视图,将画面改为圆柱形状,可以理解为鱼眼镜头效果。关注点:整体画面

13.Split Tonting 拆分着色:根据亮度值对不同(阴影、中间、高光)区域进行着色。关注点:阴影区域、中间调区域、高光区域

14.Tonemapping 色调映射:可修改颜色分级的色调映射算法,简单理解调整为Neutral和ACES就会自动调整到合适的结果,专业级调整就选Custon和External。关注点:整体画面

15.Vignette 渐晕:边缘变暗,类似加上一层镜头遮光的滤镜。关注点:画面边缘

16.White Balance 白平衡:调整整体冷暖色调。关注点:整体画面

上述就是HDRP Volume Post-processing 后处理的全部效果,具体某个效果的参数调整还需要参考官方泛光 (Bloom) | High Definition RP | 7.4.3 (unity3d.com),说句废话...一切以官方文档为主。

4.小结

本篇主要对HDRP的Volume框架以及后处理效果进行了说明,算是对官方文档一种“人话”翻译以及对应的效果图,下一篇会分享在HTC VIVE中使用HDRP的心得。

相关文章:

(02)Unity HDRP Volume 详解

1.概述这篇文章主要针对HDRP中的Volume和Volume Post-processing进行解释,针对于各个组件只能进行部分参数的解释,具体的信息可参考官方资料,这里只是对官方文档的图片效果补充以及笔者自己的理解。看到这里进入正文,请确保你的Un…...

拒绝B站邀约,从月薪3k到年薪47W,我的经验值得每一个测试人借鉴

有时候,大佬们总是会特立独行。因为像我这样的常人总是想不通,究竟是怎样的情境,连B站这样的大厂面试都可以推掉? 缘起一通电话,踏出了改变人生轨迹的第一步 我是小瑾,今年28岁,2016年毕业于陕…...

分享一种实用redis原子锁的方式

1. setnx(lockkey, 当前时间过期超时时间) ,如果返回1,则获取锁成功;如果返回0则没有获取到锁,转向2。2. get(lockkey)获取值oldExpireTime ,并将这个value值与当前的系统时间进行比较,如果小于当前系统时间…...

【华为OD机试】 字符串解密(C++ Java JavaScript Python)

题目描述 给定两个字符串string1和string2。 string1是一个被加扰的字符串。 string1由小写英文字母(’a’’z’)和数字字符(’0’’9’)组成,而加扰字符串由’0’’9’、’a’’f’组成。 string1里面可能包含0个或多个加扰子串,剩下可能有0个或多个有效子串,这些有…...

金三银四,助力你的大厂梦,2023年软件测试经典面试真题(1)(共3篇)

前言 金三银四即将到来,相信很多小伙伴要面临面试,一直想着说分享一些软件测试的面试题,这段时间做了一些收集和整理,下面共有三篇经典面试题,大家可以试着做一下,答案附在后面,希望能帮助到大…...

假如面试官要你手写一个promise

promise 在开发中,经常需要用到promise,promise具有很多特性,这一次将对promise特性进行总结,并从零写一个promise。 步骤一 Promise特点 1,创建时需要传递一个函数,否则会报错2,会给传入的函…...

【leetcode】寻找重复数

题目链接:寻找重复数https://leetcode.cn/problems/find-the-duplicate-number/ 方法一:快慢指针 因为只有一个数字是重复的,且一个数字正好对应一个唯一的下标,所以可以将数组抽象为一个链表,假定数组为{1,2,3,4,5,…...

LeetCode 1247. Minimum Swaps to Make Strings Equal【数学,贪心,字符串】

本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章…...

pid控制加热算法,附代码仓库

1、该项目层次化结构清晰,代码框架耦合度低,可复用性、可移植性强。 2、功能代码与底层硬件无直接关联,无需更改上层应用逻辑,只需更改接口文件,即可移植到不同的硬件平台; 3、使用lwrb开源组件、pid开源算…...

一文看懂预训练和自训练模型

说到预训练模型,不得不提迁移学习了,由于很多数据不是标签数据,人工标注非常耗时,神经网络在很多场景下受到了限制。但是迁移学习和自学习的出现,在一定程度上缓解甚至解决了这个问题。我们可以在标签丰富的场景下进行…...

(五十四)大白话索引的页存储物理结构,是如何用B+树来实现的?.md

上一次我们给大家说了主键索引的目录结构,只要在一个主键索引里包含每个数据页跟他最小主键值,就可以组成一个索引目录,然后后续你查询主键值,就可以在目录里二分查找直接定位到那条数据所属的数据页,接着到数据页里二…...

前端Vue代码风格指南

一、命名规范 市面上常用的命名规范: camelCase(小驼峰式命名法 —— 首字母小写) PascalCase(大驼峰式命名法 —— 首字母大写) kebab-case(短横线连接式) Snake(下划线连接式&…...

「TCG 规范解读」基础设施架构和协议 (2)

可信计算组织(Ttrusted Computing Group,TCG)是一个非盈利的工业标准组织,它的宗旨是加强在相异计算机平台上的计算环境的安全性。TCG于2003年春成立,并采纳了由可信计算平台联盟(the Trusted Computing Platform Alli…...

NodeJs 中的 HTML 模板

💂 个人网站:【海拥】【摸鱼游戏】【神级源码资源网】🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】💅 想寻找共同学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 HTML 模板是一种允许我…...

3.ffmpeg命令行环境搭建、ffmpeg命令行初步了解

在上章,我们讲过: ffmpeg.exe: 主要用于转码或者剪切的应用程序, 也可以从url/现场音频/视频源抓取输入源ffplay.exe: 主要用于播放视频的应用程序,该应用程序源码是开源的,我们后面章节会去源码分析ffprobe.exe: 主要用于分析视频码流的应用程序, 可以获取媒体文件的详细信息,…...

Kubernetes初始化容器

初始化容器 之前了解了容器的健康检查的两个探针:liveness probe(存活探针)和readiness probe(可读性探针)的使用方法,我们说在这两个探针是可以影响容器的生命周期的,包括我们之前提到的容器的…...

leetcode: Swapping Nodes in a Linked List

leetcode: Swapping Nodes in a Linked List1. 题目描述2. 题目解答3. 总结1. 题目描述 You are given the head of a linked list, and an integer k.Return the head of the linked list after swapping the values of the kth node from the beginning and the kth node f…...

Nydus 在约苗平台的容器镜像加速实践

文 | 向申 约苗平台运维工程师 关注云原生领域 本文字数 9574阅读时间24分钟 本文是来自向申同学的分享,介绍了其在 K8s 生产环境集群部署 Nydus 的相关实践。 Nydus 是蚂蚁集团,阿里云和字节等共建的开源容器镜像加速项目,是 CNCF Dragon…...

企业对不同形态CRM系统价格需求不同

很多企业在选型时关心CRM客户管理系统的价格,有人对CRM的价格完全没有概念,也有的人先问价格再看其他。CRM价格在系统选型中到底有多重要?不同类型CRM系统的价格是否有所不同? CRM的不同产品形态也会影响价格 通常情况下&#x…...

「JVM 高效并发」线程安全

面向过程编程,把数据和过程分别作为独立的部分考虑,数据代表问题空间中的客体,程序代码则用于处理这些数据;面向对象编程,把数据和行为都看做对象的一部分,以符合现实世界的思维方式来编写和组织程序&#…...

C++:std::is_convertible

C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器

一.自适应梯度算法Adagrad概述 Adagrad&#xff08;Adaptive Gradient Algorithm&#xff09;是一种自适应学习率的优化算法&#xff0c;由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率&#xff0c;适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...

YSYX学习记录(八)

C语言&#xff0c;练习0&#xff1a; 先创建一个文件夹&#xff0c;我用的是物理机&#xff1a; 安装build-essential 练习1&#xff1a; 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件&#xff0c;随机修改或删除一部分&#xff0c;之后…...

Objective-C常用命名规范总结

【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名&#xff08;Class Name)2.协议名&#xff08;Protocol Name)3.方法名&#xff08;Method Name)4.属性名&#xff08;Property Name&#xff09;5.局部变量/实例变量&#xff08;Local / Instance Variables&…...

江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命

在华东塑料包装行业面临限塑令深度调整的背景下&#xff0c;江苏艾立泰以一场跨国资源接力的创新实践&#xff0c;重新定义了绿色供应链的边界。 跨国回收网络&#xff1a;废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点&#xff0c;将海外废弃包装箱通过标准…...

Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理

引言 Bitmap&#xff08;位图&#xff09;是Android应用内存占用的“头号杀手”。一张1080P&#xff08;1920x1080&#xff09;的图片以ARGB_8888格式加载时&#xff0c;内存占用高达8MB&#xff08;192010804字节&#xff09;。据统计&#xff0c;超过60%的应用OOM崩溃与Bitm…...

Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)

在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马&#xff08;服务器方面的&#xff09;的原理&#xff0c;连接&#xff0c;以及各种木马及连接工具的分享 文件木马&#xff1a;https://w…...

中医有效性探讨

文章目录 西医是如何发展到以生物化学为药理基础的现代医学&#xff1f;传统医学奠基期&#xff08;远古 - 17 世纪&#xff09;近代医学转型期&#xff08;17 世纪 - 19 世纪末&#xff09;​现代医学成熟期&#xff08;20世纪至今&#xff09; 中医的源远流长和一脉相承远古至…...

免费PDF转图片工具

免费PDF转图片工具 一款简单易用的PDF转图片工具&#xff0c;可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件&#xff0c;也不需要在线上传文件&#xff0c;保护您的隐私。 工具截图 主要特点 &#x1f680; 快速转换&#xff1a;本地转换&#xff0c;无需等待上…...

【Linux】Linux 系统默认的目录及作用说明

博主介绍&#xff1a;✌全网粉丝23W&#xff0c;CSDN博客专家、Java领域优质创作者&#xff0c;掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围&#xff1a;SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...