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

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

零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?

一、核心优势:专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发,是一款收费低廉但功能全面的Windows NAS工具,主打“无学习成本部署” 。与其他NAS软件相比,其优势在于: 无需硬件改造:将任意W…...

进程地址空间(比特课总结)

一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...

反向工程与模型迁移:打造未来商品详情API的可持续创新体系

在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...

Admin.Net中的消息通信SignalR解释

定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...

java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别

UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

Java多线程实现之Thread类深度解析

Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...

HDFS分布式存储 zookeeper

hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架,允许使用简单的变成模型跨计算机对大型集群进行分布式处理(1.海量的数据存储 2.海量数据的计算)Hadoop核心组件 hdfs(分布式文件存储系统)&a…...

视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)

前言: 最近在做行为检测相关的模型,用的是时空图卷积网络(STGCN),但原有kinetic-400数据集数据质量较低,需要进行细粒度的标注,同时粗略搜了下已有开源工具基本都集中于图像分割这块&#xff0c…...

使用Spring AI和MCP协议构建图片搜索服务

目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...