打造高清3D虚拟世界|零基础学习Unity HDRP高清渲染管线(第五天)

打造高清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。

这里是井队,天高任鸟飞,海阔凭鱼跃,点个关注不迷路,我们下期再见。

相关推荐
sensen_kiss3 小时前
INT301 Bio-computation 生物计算(神经网络)Pt.2 监督学习模型:感知器(Perceptron)
神经网络·学习·机器学习
yi碗汤园3 小时前
【一文了解】八大排序-插入排序、希尔排序
开发语言·算法·unity·c#·1024程序员节
Han.miracle3 小时前
数据结构——排序的超级详解(Java版)
java·数据结构·学习·算法·leetcode·排序算法·1024程序员节
电子云与长程纠缠4 小时前
Blender入门学习06 - 粒子
学习·blender·1024程序员节
综合热讯5 小时前
湖南粒界教育科技有限公司:专注影视职业教育,AI辅助教学提升学习实效
人工智能·科技·学习
冬夜戏雪5 小时前
[学习日记]看书笔记
java·学习
DKPT6 小时前
JVM直接内存和堆内存比例如何设置?
java·jvm·笔记·学习·spring
py有趣6 小时前
LeetCode学习之0矩阵
学习·leetcode·矩阵
暖阳之下7 小时前
学习周报十九
学习·多模态·1024程序员节