打造高清3D虚拟世界|零基础学习Unity HDRP高清渲染管线(第五天)
- 1.前言回顾
- 2.HDRP示例场景解析
-
- Light Probe Group光照探针组
- Reflection Probes反射探针
- Reflection Probes反射探针的使用方法
- Reflection Probes反射探针的属性
-
- Influence Volume(影响体积)
-
- Shape(形状)
- Box Size / Sphere Radius(盒体尺寸 / 球体半径)
- Per Axis Control(每轴控制)
- Blend Distance(混合距离)
- Blend Normal Distance(法线混合距离)
- Capture Settings(捕获设置)
-
- Capture Position(捕获位置)
- Clear Mode(清除模式)
- Background Color(背景颜色)
- Clear Depth(清除深度)
- Volume Layer Mask(体积层蒙版)
- Volume Anchor Override(体积锚点覆盖)
- Use Occlusion Culling(使用遮挡剔除)
- Culling Mask(剔除蒙版)
- Clipping Planes(裁剪平面)
- Probe Layer Mask(探针层蒙版)
- Custom Frame Settings(自定义帧设置)
- Render Settings(渲染设置)
-
- Light Layer(光照层)
- Multiplier(倍增)
- Weight(权重)
- Fade Distance(淡出距离)
- Mode(模式) & Bake(烘焙)
- 总结与工作流建议
1.前言回顾
可以点击传送门预览。
传送门: 【打造高清3D虚拟世界|零基础学习Unity HDRP高清渲染管线(第一天)】.
传送门: 【打造高清3D虚拟世界|零基础学习Unity HDRP高清渲染管线(第二天)】.
传送门: 【打造高清3D虚拟世界|零基础学习Unity HDRP高清渲染管线(第三天)】.
传送门: 【打造高清3D虚拟世界|零基础学习Unity HDRP高清渲染管线(第四天)】.
2.HDRP示例场景解析

- Main Camera 主相机:用于控制看到的最终画面。
- Directional Light 平行光:场景中的直接光源,用于模拟太阳光。
- Sky and Fog Volume天空和雾效:提供基于HDRI的光照,控制曝光度、雾效等。
- Post Process Volume后处理:可用于控制诸如白平衡、曝光度、镜头畸变等效果,这些效果将作用于整个画面。
- Light Probe Group光照探针组:通过使用一组LightProbe(光照探针)为场景提供间接光照,特别适用于为动态物体提供光照信息。
- Example Assets 场景模型:场景中的模型。
- Reflection Probes反射探针:通过使用Reflection Probe(反射探针)为场景提供反射信息。此场景使用了三个反射探针,用于为不同的区域提供反射信息。
Light Probe Group光照探针组

- Light Probe Group由一组Light Probe(光照探针)组成,用于为场景提供高效的间接光照信息,特别适合为场景中的小物体(参与光照贴图烘焙但是不从光照贴图中获取间接光信息)和动态物体提供间接光照信息。
- 如图场景中的光照探针组由几十个光照探针(场景中用黄色小球表示)连结而成,覆盖了整个场景。
Reflection Probes反射探针

- 此场景使用了三个反射探针,扬景中的模型表面拥有逼真的反射效果。
反射探针通过对自身周围的场景进行采样,可以为场景中的相关模型提供高效的反射 - 当前场景中的三个反射探针,因为摆放在不同的位置,所以各自获得的反射信息是不一的。比如1号反射探针无法获得2号反射探针所处位置的反射信息,因为被墙壁挡住了,反之然。而3号反射探针能够获取到的反射信息,1号和2号反射探针只能获取部分或者全部无法取。所以要让反射探针充分发挥作用,需要在正确的地方放置正确数量的反射探针,这样才能获得完整的效果。
Reflection Probes反射探针的使用方法
Project Settings (HDRP) 中的全局设置
首先,有两个在 Project Settings > HDRP Default Settings 中与反射探针相关的全局设置:
-
Proxy Volume(代理体积)
作用: 这是一个 全局资源,定义了反射探针在计算反射时,如何将场景中的物体"简化"为一个低细节的版本(一个包围盒)用于光照计算。这能提高性能并减少 artifacts(瑕疵)。
用途: 你通常不需要修改它,除非有特殊的性能或质量需求。HDRP 会提供一个默认的 Proxy Volume。
-
Use Influence Volume As Proxy(使用影响体积作为代理)
作用: 一个简化选项。当启用时,反射探针会使用自己的 Influence Volume(影响体积) 作为简化的代理几何体,而不是上面那个复杂的全局 Proxy Volume。
建议: 对于大多数情况,启用此选项 是一个好主意,因为它更简单、更直观,并且通常能产生良好的效果。
Reflection Probes反射探针的属性
Influence Volume(影响体积)
- 这定义了反射探针在 哪里生效 以及影响的 范围。
Shape(形状)
-
作用: 选择影响体积的形状。
-
选项:
Box: 长方体形状。适用于房间、走廊等方形空间。
Sphere: 球体形状。适用于开阔的、圆形区域。
Box Size / Sphere Radius(盒体尺寸 / 球体半径)
- 作用: 定义影响体积的大小。根据选择的 Shape,显示对应的参数。
Per Axis Control(每轴控制)
- 作用: 仅当 Shape 为 Box 时可用。允许你单独控制每个轴(X, Y, Z)上的 Blend Distance 和 Blend Normal Distance。
Blend Distance(混合距离)
- 作用: 定义从影响体积边界开始,到探针反射效果完全淡出的距离。在这个距离内,该探针的反射会与其他探针或天空盒的反射进行平滑混合。
- 重要性: 这是实现反射无缝过渡的关键属性! 设置一个合适的值可以避免反射的突然切换。
Blend Normal Distance(法线混合距离)
- 作用: 一个更高级的混合控制。它基于物体表面的 法线方向 与探针方向的夹角来进行混合。
- 用途: 当物体表面朝向某个探针时,该探针的反射贡献更大;当表面转向另一个方向时,则会混合到另一个探针。这能使反射过渡更加自然,尤其是在角落。
Capture Settings(捕获设置)
- 这定义了反射探针 如何捕获 周围环境来生成反射贴图。
Capture Position(捕获位置)
- 作用: 定义探针在捕获环境时的摄像机位置。通常与探针的 Transform 位置一致,但可以偏移以进行特殊调整。
Clear Mode(清除模式)
Background Color(背景颜色)
- 作用: 当探针捕获环境时,如何填充没有被场景物体覆盖的像素(例如天空)。
- 模式:
Sky: 使用当前场景的天空盒(HDRI 或 PBR Sky)作为背景。这是最常用、最真实的方式。
Color: 使用固定的 Background Color。可用于创造特殊效果或当没有天空盒时。
Clear Depth(清除深度)
- 作用: 通常保持启用。确保在捕获新图像前,深度缓冲区被正确清除。
Volume Layer Mask(体积层蒙版)
- 作用: 指定哪些 Layer 上的 Volume 组件会影响此反射探针的捕获过程。
- 用途: 例如,你可以让某个区域的后期处理效果(如颜色校正)也影响到该区域的反射。
Volume Anchor Override(体积锚点覆盖)
- 作用: 指定一个 Transform,作为计算 Volume 效果的参考位置,而不是使用探针自身的位置。
Use Occlusion Culling(使用遮挡剔除)
- 作用: 在捕获反射贴图时是否启用遮挡剔除。
- 建议: 通常建议禁用。因为反射视角与主摄像机视角完全不同,启用遮挡剔除可能会导致本该被反射的物体(因为它们在主视角被挡住)在反射贴图中缺失。
Culling Mask(剔除蒙版)
- 作用: 最重要的设置之一。定义哪些 Layer 的物体会被捕获到反射贴图中。
- 建议: 为了性能和效果,只勾选那些对反射有重要贡献的大中型静态物体(如墙壁、地板、大型家具)。不要勾选小物件、动态物体或玩家角色,因为它们对反射贡献小且会增加捕获开销。
Clipping Planes(裁剪平面)
- 作用: 定义捕获反射的"摄像机"的近裁剪面和远裁剪面。
- Near: 太近可能会导致靠近探针的物体不被渲染。通常保持一个较小值(如 0.1)。
- Far: 决定了能捕获到多远的物体。应设置为刚好能包含你希望出现在反射中的所有物体,设置过大会捕获不必要的远处物体,浪费性能。
Probe Layer Mask(探针层蒙版)
- 作用: 定义此反射探针会影响哪些 Layer 的物体。
- 注意: 这与 Culling Mask 不同。Culling Mask 决定"谁被拍进照片里",而 Probe Layer Mask 决定"谁会被这张照片影响"。
Custom Frame Settings(自定义帧设置)
- 作用: 高级功能。允许你为这个探针的捕获过程覆盖 HDRP 的全局渲染设置。
- 用途: 例如,你可以为此探针禁用实时阴影以获得性能,或者启用/禁用某些渲染通道。
Render Settings(渲染设置)
- 这定义了生成的反射贴图 如何被应用 到物体表面上。
Light Layer(光照层)
- 作用: HDRP 的光照层系统。可以限制此反射探针只影响特定光照层的物体。
- 用途: 用于高级场景管理,例如让一个探针只影响场景中的"建筑"层,而不影响"植被"层。
Multiplier(倍增)
- 作用: 控制此反射探针的反射强度。
- 范围: 0 到 8。1 是标准强度。可以调低来减弱反射影响,或调高来增强。
Weight(权重)
- 作用: 当多个反射探针的影响体积重叠时,此值决定了 当前探针的贡献强度。
- 规则: 数值越大的探针,其反射贡献越大。用于控制重叠区域以哪个探针的反射为主。
Fade Distance(淡出距离)
- 作用: 这个属性似乎不常用或被 Blend Distance 所取代。请参考官方文档确认其最新用途。
Mode(模式) & Bake(烘焙)
- 作用: 控制探针如何捕获环境。
- 模式:
Baked: 仅捕获静态物体。需要在 Lighting 窗口中进行烘焙。性能最佳,用于静态场景。
Custom: 手动控制捕获时机(通过点击 Bake 按钮或调用 API)。用于静态或半静态环境。
Realtime: 每帧(或按指定频率)自动更新,可以捕获动态物体。性能开销非常大,仅在绝对必要时(如镜面反射)使用。
总结与工作流建议
- 放置与形状:将 Box 探针放在房间内,Sphere 探针放在开阔地。调整 Influence Volume 使其略大于空间本身。
- 平滑过渡:设置 Blend Distance(和 Blend Normal Distance)以确保探针之间平滑混合。
- 性能优化:精心设置 Culling Mask,只包含重要静态物体。对于静态环境,使用 Baked 模式。
- 效果控制:使用 Multiplier 调整反射强度,使用 Weight 解决探针冲突。
- 高级控制:仅在需要时使用 Custom Frame Settings 和 Light Layers。
这里是井队,天高任鸟飞,海阔凭鱼跃,点个关注不迷路,我们下期再见。