目录
一、Volume框架
二、Volume Profile
三、Volume重载
1.Visual Environment(环境设置)
1.1 Sky type
1.2 Ambient Mode
2.Sky
2.1 HDRI Sky(HDRI天空)
2.2 Gradient Sky(渐变天空)
2.3 Physically Based Sky(基于物理的天空)
3.Exposure(屏幕曝光)
3.1 Mode
3.2 Metering Mode(测光模式)
3.3 Limit Min和Limit Max
3.4 Compensation
3.5 Adaptation(适应)
4.Fog(雾效制作)
4.1 Volume组件中的Fog(全局雾效)
4.2 Local Volumetric Fog(局部雾效)
5.Material(材质)
Volume框架是HDRP最重要的组成部分之一。Volume框架的作用总结如下:
每个Volume的模式可以按照需要设置成Global(全局)或者Local(本地):
全局Volume总是对场景中的相机产生影响,而本地Volume只有当相机进入所设定的碰撞体(Collider)范围以后才会对其产生影响。
要让Volume组件生效,需要为它添加一个Profile(配置文件)。Profile的本质是一个Scriptable Object,它本身并没有任何特殊功能,只是一个用来保存配置数据的地方。
在菜单Edit→Project Settings→HDRP Default Settings中已经包含了一个默认的Volume Profile。如果你没有在场景中设置任何Volume,那么这个默认的Volume就会起作用。因此,在场景中添加的Volume的各项属性就称为Override(重载)。
单击Volume组件中的Add Override按钮可以看到目前的Volume重载被分成了9类(这个列表并不是固定不变的,随着HDRP版本的升级,里面的内容会越来越丰富)。
可以在Sky type中选择None、Gradient Sky、HDRI Sky和Physically Based Sky四种天空类型。
可以选择Static和Dynamic两种模式。
Volume组件中的Visual Environment重载的类型设置为Gradient Sky、HDRI Sky和Physically Based Sky三种天空类型:
如果在Visual Environment中将Sky设置为HDRI类型,那么需要添加HDRI Sky这个重载并进行具体设置。
指定一张用于渲染天空的Cubemap。
用于控制来自天空的环境光强度,有如下三种模式可选:
Lux光照单位:此单位表示的光照信息只有方向信息没有强度衰减信息,也就是说此单位适合用于表示太阳光这一类对于地球来说只有角度变化、没有强度变化的光照信息。
拖动滑块可以旋转Cubemap从而改变当前相机可视范围内的天空显示。
有三种更新模式可选择:
分别用于控制大气层上半层的颜色、地平线的颜色、大气层下半层的颜色(低于地平线的那部分)。
用于控制地平线部分的颜色覆盖区域的大小(Middle),分成两种情况:
可以选择使用Exposure(单位为EV100);也可以选择使用一个固定的乘数值。
基于物理的天空不仅适合用于创造地球环境,也可以用于创造外星球环境。
因为地球的直径大约为12742km,所以将这里的Y轴数值设置为-6378100m。
用于控制星球表面的纹理。
用于为Ground Color Texture着色。
用于控制星球表面自发光部分的纹理。
应用于Ground Emission Texture的乘数器。
曝光指的是相机感光元器件接受的光线强度。曝光的数值越高,相机接受的光线强度就越大。在设置好Sky以后,需要通过控制Exposure重载来调整当前相机所看到的整个画面。
因为HDRP是完全基于物理的渲染系统,所有的灯光设置和材质设置都是基于物理的,所以要想正常显示场景画面,就必须为场景设置正确的曝光。
如果一个Volume被添加了Exposure重载,那么所有受当前Volume影响的相机都会使用这个Exposure重载,受它的影响。这个曝光影响的是在当前Camera窗口显示的最终效果。
Volume中的Exposure重载包含五种模式:Fixed、Automatic、Automatic Histogram、 Curve Mapping和Use Physical Camera。
Fixed(固定曝光) | 使用固定数值来控制曝光,该模式可应用于曝光变化不大的场景。 HDRP的光照系统是完全基于物理的,所以可以参考物理世界真实的曝光值。(见上图 EV100的数值) |
Automatic(自动曝光) |
根据当前相机的位置信息和相关场景信息来自动调节场景曝光。非常适用于曝光随位置不同而发生变化的场景。 |
Automatic Histogram(直方图) |
这种模式下,系统会根据场景中的亮度分布自动调整曝光值。通过分析场景中的直方图信息,系统会根据亮度范围和对比度调整曝光值。 |
Curve Mapping(曲线控制曝光) |
通过曲线来控制场景的曝光。X轴代表目前场景的曝光,Y轴代表我们想要的曝光。曲线控制的方式一般留给业内专家使用。 |
Use Physical Camera(物理相机控制曝光) | 物理相机的各项属性在Camera组件中。如果选择此选项,则Volume界面中只剩下Compensation(补偿)这一项。(使用物理相机的好处是,如果你对真实世界的各种相机参数很熟悉,就可以利用已有的知识来精确控制画面的曝光) |
用于控制如何采样场景中的灯光以进行曝光计算,有五种模式可选择:
Average(平均) | 针对整个画面进行采样,计算结果很稳定。 |
Spot(点测光) | 只针对画面中央的区域进行采样,计算结果不大稳定。如果画面中央的采样区域较暗,则整个画面可能曝光过度;反之则可能曝光不足。 |
Center Weighted(中心加权) | 取前两者的优点。相机会为画面中的每个像素添加一个权重,最中心的像素权重最大,离开中心越远的像素权重越小。最后按照每个像素的权重对曝光进行计算。 |
Mask Weighted(遮罩加权) | 该模式使用遮罩来定义不同区域的权重。用户可以创建遮罩,根据遮罩的强度或颜色等属性,调整不同区域的测光权重。 |
Procedural Mask(程序化遮罩) | 该模式使用程序化生成的遮罩来定义不同区域的权重。用户可以使用代码或着色器生成程序化的遮罩,并根据生成的遮罩调整测光权重。 |
分别用于控制场景自动曝光的最小值和最大值。可以用这两个值分别调节当相机处于场景的暗部和亮部时整体的曝光。
类似于很多相机上的设置,用于对通过自动计算获得的曝光进行补偿。如果你想获得曝光过度或者曝光不足的效果,可以使用这个参数来控制。通常情况下设置为0。
用于控制画面在明暗之间变化过程中,也就是从黑暗到光明或者从光明到黑暗的转变过程中画面曝光的变化速度。可以有如下选择:
如果要制作体积雾效果(Volumetric Fog),首先要确保已经打开当前项目使用的HDRP配置文件中Lighting下的Volumetric Fog。
用于控制雾的能见度,数值的单位为m。如果设置为10m,则意味着只能从当前位置看到10m开外的地方。
用于控制连续雾效与指数雾效的边界高度。(eg:把Base Height参数的值设置成2m,表示在从地板开始向上2m的空间里,雾是连续的,没有衰减;从2m的高度开始向上,雾开始会以指数衰减的方式显示。)
用于控制能够显示雾的最高高度,到了这个高度,雾的浓度会降到最底部雾浓度的37%。
此最大距离以当前相机为起点。超过此最大距离以后,雾将不再被渲染。建议将此距离设置为大于相机组件中Clipping Planes→Far的数值,以防止天空盒上的雾和场景中物体上的雾看起来不一致。
用于控制雾的颜色:
在Sky Color模式下,会多出一个Tint选项。Tint中的颜色会与天空色进行相乘的操作(Multiply),因此这个颜色不会大幅度改变雾的颜色。
要想让场景具有体积雾的效果或者所谓“上帝之光”的效果,就需要打开这个选项。注意,体积雾的效果比较消耗性能,所以在使用时要注意实际性能消耗,视情况而定。
用于控制雾的整体颜色。不过在模拟真实世界时,我们一般不调整雾本身的颜色(雾本身是没有颜色的),因为雾反射的是天空和环境光的颜色。
使用这个参数可以调整来自天空的环境光强度。数值越大,场景中的雾越亮,反之越暗。
用于控制雾的颜色。
用于控制雾的浓度。
用于控制长方体的长宽高。
可以实现雾的边缘淡化,不让雾看上去是包含在一个长方体中。
可实现移动动画。
在HDRP中,Diffusion Profile用于保存次表面散射(Subsurface Scattering)的配置信息。要让相关的次表面散射材质应用这些Diffusion Profile,需要先将它们添加到HDRP配置文件中。
HDRP允许在同一个场景中同时使用15个Diffusion Profile。
如果某些Diffusion Profile只被应用在部分场景中,我们也可以只把这些Diffusion Profile添加到当前场景的Volume组件中的Diffusion Profile Override中,这样就不需要将它们添加到应用于整个项目的HDRP配置文件中了。这样做的好处是可以减少渲染时因为要寻找到正确的Diffusion Profile而消耗的性能。这对于包含很多植被的场景尤其有用,因为通常这样的场景会有很多的重复绘制(Overdraw)。