雾效 (Fog)
高清渲染管线 (High Definition Render Pipeline, HDRP) 实现了由指数成分组成的多层雾,雾的密度随着与摄像机的距离以及雾高度的变化呈指数变化。HDRP 允许您向此指数雾添加可选的体积分量,以逼真地模拟光与雾的交互作用,这样就可以在物理上合理地渲染辉光和云状光线,即从中心点穿过云朵和树木等对象间缝隙的光束。
使用雾效
雾效使用体积 (Volume) 框架,因此若要启用和修改雾效属性,必须将雾效覆盖添加到场景中的体积。要向体积添加雾效,请执行以下操作:
- 在 Scene 视图或 Hierarchy 视图中,选择一个包含 Volume 组件的游戏对象以在 Inspector 中查看该游戏对象。
- 在 Inspector 中,导航到 Add Override > Fog,然后单击 Fog。
添加雾效覆盖后,必须在覆盖本身中启用这个覆盖。在覆盖中,选中 Enable 属性。HDRP 现在会为此体积所影响的任何摄像机渲染雾效。
此时,场景包含全局雾。但是,该效果可能不符合您的需求。要使用您自己选择的值覆盖默认属性,请按照自定义全局雾部分中的步骤操作。
高清渲染管线 (High Definition Render Pipeline) 会估算 3D 网格上映射到视锥体体积部分的体积光照。网格的分辨率非常低(使用 1080p 的默认质量设置时为 240x135x64),因此应保持视锥体的尺寸尽可能小以确保高质量,这非常重要。调整 Depth Extent 参数可以定义体积雾相对于摄像机视锥体的最大范围。
自定义全局雾
请使用全局体积雾,而不是局部雾,因为全局雾可提供最佳性能和最佳质量。
全局雾是具有两个逻辑成分的高度雾:
- 与摄像机的距离比 Base Height 更近的区域是恒定(均质)雾。
- 所处距离超过 Base Height 的区域是指数雾。
活动体积的雾效覆盖将控制全局雾的外观。这个覆盖包括两个主要属性,可用于覆盖默认密度。
- Fog Attenuation Distance:控制雾的全局密度。
- Maximum Height:控制随高度变化的密度衰减;允许在地面附近具有较高的密度,而在较高的位置具有较低的密度。
属性
要编辑任何 Volume 组件覆盖中的属性,请启用属性左侧的复选框。这也告诉 HDRP 使用您为 Volume 组件指定的属性值而不是使用默认值。如果禁用该复选框,HDRP 将忽略您设置的属性,并改用该属性在 Volume 组件中的默认值。
属性 | 功能 |
---|---|
Enable | 启用雾效。 |
Fog Attenuation Distance | 控制雾的基础密度,决定了透过雾可以看到的距离(以米为单位)。在此距离处,雾已吸收并散射 63% 的背景光。 |
Base Height | 恒定(均质)雾与指数雾之间边界的高度。 |
Maximum Height | 控制高度雾的衰减率(以米为单位)。较高的值会垂直拉伸雾效。在此高度,衰减使初始基础密度降低 63%。 |
Max Fog Distance | 控制在将雾效应用于天空盒或背景时的距离(以米为单位)。也决定了 Distant Fog 的范围。为获得最佳效果,请将此属性设置为大于摄像机的远裁剪面值。否则,场景游戏对象上和天空盒上的雾效之间会出现差异。请注意,摄像机远裁剪面是平坦的,而 HDRP 在摄像机周围的球体内应用雾效。 |
Color Mode | 使用下拉选单选择 HDRP 用于计算雾颜色的模式。 • Sky Color:HDRP 使用从天空立方体贴图及其 Mipmap 中采样的颜色对雾进行着色。 • Constant Color:HDRP 使用在选择此选项时出现的 Constant Color 字段中手动设置的颜色对雾进行着色。 |
- Tint | HDR 颜色乘以天空颜色。 仅当从 Color Mode 下拉选单中选择 Sky Color 时,才显示此属性。 |
- Mip Fog Near | 与摄像机的距离(以米为单位):HDRP 在此位置停止从最低分辨率 Mipmap 中采样雾颜色。 仅当从 Color Mode 下拉选单中选择 Sky Color 时,才显示此属性。 |
- Mip Fog Far | 与摄像机的距离(以米为单位):HDRP 在此位置开始从最高分辨率 Mipmap 中采样雾颜色。 仅当从 Color Mode 下拉选单中选择 Sky Color 时,才显示此属性。 |
- Mip Fog Max Mip | 使用滑动条设置 HDRP 用于 Mip 雾效的最大 Mipmap。这定义了 HDRP 针对大于 Mip Fog Far 的距离进行采样的 Mipmap。 仅当从 Color Mode 下拉选单中选择 Sky Color 时,才显示此属性。 |
- Constant Color | 使用拾色器选择雾的颜色。 仅当从 Color Mode 下拉选单中选择 Constant Color 时,才显示此属性。 |
Volumetric Fog | 启用体积雾。 |
Albedo | 设置雾效颜色。体积雾 (Volumetric Fog) 对光照进行着色,因此该雾效会将光散射到此颜色。只会对雾后方或内部的光源发出的光照进行着色。这意味着不会对雾后方或内部的游戏对象反射出去的光照进行着色:随着雾密度的增加,反射的光照只会变暗(逐渐变为黑色)。例如,如果使用红色 Single Scattering Albedo 在雾后面的白墙上发出光照,则雾看起来是红色的。如果在白墙上发出光照并从雾的另一侧观察,则会看到雾使光线变暗,而不会使光线着色为红色。 |
Anisotropy | 控制散射光的角度分布。0 表示各向同性,1 表示前向散射,-1 表示后向散射。请注意,非零值会对性能产生中度的影响。较高的值可能与体积帧设置 (Volumetrics Frame Setting) 的启用重投影 (Enable Reprojection) 有兼容性问题。这是 HDRP 应用于全局雾和局部雾的一个实验性属性。 |
Ambient Light Probe Dimmer | 降低天空产生的全局环境光照探针的强度。 |
Depth Extent | 确定与摄像机之间的距离(以米为单位):视锥体的体积雾部分在此位置结束。 |
Slice Distribution Uniformity | 控制沿着摄像机焦轴的切片分布均匀性。HDRP 在距摄像机多个距离处对体积雾采样。这些样本区域中的每一个区域称为切片。值为 0 使切片分布呈指数关系(切片之间的间距随着与摄像机的距离而增加),靠近摄像机时精度更高,而远离摄像机时精度更低。值为 1 会产生均匀分布,无论与摄像机的距离如何,均具有相同的精确度。 |
Filter | 应用模糊效果以平滑体积光照输出。 |
特定于光源的属性
光源组件有几个对体积光照有用的属性:
- Emission Radius 用于模拟填充光照。此属性通过几乎“推动”光源远离场景来起作用。因此可以柔化精准光源的核心。请始终使用非零值来减少重投影导致的重影瑕疵。
- Volumetric Multiplier 仅影响雾效并取代 HDRP 用于表面的光线倍增器 (Light Multiplier)。
- Shadow Dimmer 仅影响雾效并取代 HDRP 用于表面的阴影调光器 (Shadow Dimmer)。