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

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

云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?

大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...

React第五十七节 Router中RouterProvider使用详解及注意事项

前言 在 React Router v6.4 中&#xff0c;RouterProvider 是一个核心组件&#xff0c;用于提供基于数据路由&#xff08;data routers&#xff09;的新型路由方案。 它替代了传统的 <BrowserRouter>&#xff0c;支持更强大的数据加载和操作功能&#xff08;如 loader 和…...

连锁超市冷库节能解决方案:如何实现超市降本增效

在连锁超市冷库运营中&#xff0c;高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术&#xff0c;实现年省电费15%-60%&#xff0c;且不改动原有装备、安装快捷、…...

涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战

“&#x1f916;手搓TuyaAI语音指令 &#x1f60d;秒变表情包大师&#xff0c;让萌系Otto机器人&#x1f525;玩出智能新花样&#xff01;开整&#xff01;” &#x1f916; Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制&#xff08;TuyaAI…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战

在现代战争中&#xff0c;电磁频谱已成为继陆、海、空、天之后的 “第五维战场”&#xff0c;雷达作为电磁频谱领域的关键装备&#xff0c;其干扰与抗干扰能力的较量&#xff0c;直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器&#xff0c;凭借数字射…...

QT: `long long` 类型转换为 `QString` 2025.6.5

在 Qt 中&#xff0c;将 long long 类型转换为 QString 可以通过以下两种常用方法实现&#xff1a; 方法 1&#xff1a;使用 QString::number() 直接调用 QString 的静态方法 number()&#xff0c;将数值转换为字符串&#xff1a; long long value 1234567890123456789LL; …...

tree 树组件大数据卡顿问题优化

问题背景 项目中有用到树组件用来做文件目录&#xff0c;但是由于这个树组件的节点越来越多&#xff0c;导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多&#xff0c;导致的浏览器卡顿&#xff0c;这里很明显就需要用到虚拟列表的技术&…...

GitHub 趋势日报 (2025年06月06日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...

在 Spring Boot 中使用 JSP

jsp&#xff1f; 好多年没用了。重新整一下 还费了点时间&#xff0c;记录一下。 项目结构&#xff1a; pom: <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://ww…...

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement 1. LAB环境2. L2公告策略2.1 部署Death Star2.2 访问服务2.3 部署L2公告策略2.4 服务宣告 3. 可视化 ARP 流量3.1 部署新服务3.2 准备可视化3.3 再次请求 4. 自动IPAM4.1 IPAM Pool4.2 …...