(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 高效并发」线程安全
面向过程编程,把数据和过程分别作为独立的部分考虑,数据代表问题空间中的客体,程序代码则用于处理这些数据;面向对象编程,把数据和行为都看做对象的一部分,以符合现实世界的思维方式来编写和组织程序&#…...

JavaSec-RCE
简介 RCE(Remote Code Execution),可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景:Groovy代码注入 Groovy是一种基于JVM的动态语言,语法简洁,支持闭包、动态类型和Java互操作性,…...

Prompt Tuning、P-Tuning、Prefix Tuning的区别
一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...
C#学习第29天:表达式树(Expression Trees)
目录 什么是表达式树? 核心概念 1.表达式树的构建 2. 表达式树与Lambda表达式 3.解析和访问表达式树 4.动态条件查询 表达式树的优势 1.动态构建查询 2.LINQ 提供程序支持: 3.性能优化 4.元数据处理 5.代码转换和重写 适用场景 代码复杂性…...
在 Spring Boot 项目里,MYSQL中json类型字段使用
前言: 因为程序特殊需求导致,需要mysql数据库存储json类型数据,因此记录一下使用流程 1.java实体中新增字段 private List<User> users 2.增加mybatis-plus注解 TableField(typeHandler FastjsonTypeHandler.class) private Lis…...

实战设计模式之模板方法模式
概述 模板方法模式定义了一个操作中的算法骨架,并将某些步骤延迟到子类中实现。模板方法使得子类可以在不改变算法结构的前提下,重新定义算法中的某些步骤。简单来说,就是在一个方法中定义了要执行的步骤顺序或算法框架,但允许子类…...
2.2.2 ASPICE的需求分析
ASPICE的需求分析是汽车软件开发过程中至关重要的一环,它涉及到对需求进行详细分析、验证和确认,以确保软件产品能够满足客户和用户的需求。在ASPICE中,需求分析的关键步骤包括: 需求细化:将从需求收集阶段获得的高层需…...
使用python进行图像处理—图像滤波(5)
图像滤波是图像处理中最基本和最重要的操作之一。它的目的是在空间域上修改图像的像素值,以达到平滑(去噪)、锐化、边缘检测等效果。滤波通常通过卷积操作实现。 5.1卷积(Convolution)原理 卷积是滤波的核心。它是一种数学运算,…...