当前位置: 首页 > 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 高效并发」线程安全

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

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...

业务系统对接大模型的基础方案:架构设计与关键步骤

业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...

Day131 | 灵神 | 回溯算法 | 子集型 子集

Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣(LeetCode) 思路: 笔者写过很多次这道题了,不想写题解了,大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...

以光量子为例,详解量子获取方式

光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...

保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek

文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama(有网络的电脑)2.2.3 安装Ollama(无网络的电脑)2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...

Go语言多线程问题

打印零与奇偶数(leetcode 1116) 方法1:使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...

Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换

目录 关键点 技术实现1 技术实现2 摘要: 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式(自动驾驶、人工驾驶、远程驾驶、主动安全),并通过实时消息推送更新车…...

Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)

引言 在人工智能飞速发展的今天,大语言模型(Large Language Models, LLMs)已成为技术领域的焦点。从智能写作到代码生成,LLM 的应用场景不断扩展,深刻改变了我们的工作和生活方式。然而,理解这些模型的内部…...

TSN交换机正在重构工业网络,PROFINET和EtherCAT会被取代吗?

在工业自动化持续演进的今天,通信网络的角色正变得愈发关键。 2025年6月6日,为期三天的华南国际工业博览会在深圳国际会展中心(宝安)圆满落幕。作为国内工业通信领域的技术型企业,光路科技(Fiberroad&…...

论文阅读:LLM4Drive: A Survey of Large Language Models for Autonomous Driving

地址:LLM4Drive: A Survey of Large Language Models for Autonomous Driving 摘要翻译 自动驾驶技术作为推动交通和城市出行变革的催化剂,正从基于规则的系统向数据驱动策略转变。传统的模块化系统受限于级联模块间的累积误差和缺乏灵活性的预设规则。…...