UPL9-12——阴影质量

前置知识:

  • US3S6L1——阴影的基本原理
  • US3S6L2——Unity中阴影的实现原理

内置渲染管线设置阴影质量

工程设置中的质量设置

相关设置在 Project Setting —— Quality —— Shadows 中:

image

  • Shadowmask Mode:遮罩模式

    image

    • Shadowmask(阴影遮罩)

      静态物体的阴影都来自光照贴图,动态物体投射的阴影混合在 Shadowmask 里

    • Distance Shadowmask(距离阴影遮罩)

      近处用实时阴影,远处用光照贴图里的 Shadowmask,平衡性能和质量

    移动端建议选择 Distance Shadowmask

  • Shadows:阴影

    image

    • Disable Shadows(全局禁用阴影)

      即使光源(Light)里设置了投射阴影,物体也不会产生阴影

    • Hard Shadows Only(仅开启硬阴影)

      开启 硬阴影(边缘清晰锐利)
      性能消耗相对低,阴影看起来不自然,尤其是远处或柔光场景
      适用于移动端、低端设备或风格化游戏

    • Hard and Soft Shadows(硬和软阴影)

      同时支持 硬阴影和软阴影
      具体使用哪种,由 Light 组件中的 Shadows 的 Type 决定
      如果光源设置为 Soft Shadows 软阴影,效果更好,但是消耗高
      (阴影的边缘模糊,过渡更自然)
      适用于高端设备、需要真实感的场景

  • Shadow Resolution:阴影贴图分辨率

    image

    • Low Resolution(低分辨率):一般阴影贴图尺寸为 256 * 256 或 512 * 512
    • Midium Resolution(中等分辨率):一般为 1024 * 1024
    • High Resolution(高分辨率):一般为 2048 * 2048
    • Very High Resolution(超高分辨率):一般为 4096 * 4096

    移动端、低端设备 建议 Low 或 Medium
    普通 PC、主机 建议 High
    高端硬件、追求极致画质 建议 Very High

  • Shadow Projection:阴影投射

    image

    • Close Fit(贴身适配)

      阴影贴图津贴摄像机视锥,近处更清晰,远处阴影容易模糊、抖动

    • Stable Fit(稳定适配)

      阴影贴图保持稳定缩放,减少阴影抖动,但是近处精度略差

    一般游戏用 Stable Fit,除非特别需要近景清晰

  • Shadow Distance: 阴影可见的最大距离(场景单位,通常是米)

    超过这个距离的物体不再投射阴影
    设置过大会增加性能开销
    设置过小可能导致远处物体没有阴影而违和

  • Shadow Near Plane Offset:摄像机近平面和阴影映射的偏移

    调整摄像机近平面和阴影映射的偏移,可以避免阴影抖动或裁剪问题,
    值越大,能减少阴影与物体分离,但可能造成阴影消失

  • Shadow Cascades:级联阴影

    image

    级联阴影:

    定向光(如太阳光)要覆盖整个场景,阴影贴图分辨率是固定的。
    如果距离太远,阴影就会模糊、抖动(锯齿感明显)
    我们通过级联阴影把摄像机的可见范围(视锥体)切成几段,
    每一段单独分配一张阴影贴图
    近处的级联使用更多像素(阴影更清晰)
    远处的级联使用更少像素(阴影模糊一些,但不明显)

    • No Cascades:不使用级联

      整个摄像机可见范围只用一张阴影贴图,
      性能消耗最低,但是远处阴影模糊明显

    • Two Cascades:把相机的可见范围分成两段

      近处和远处分别使用一张阴影贴图
      近景阴影清晰度提升,性能开销中等,分段过少,远景仍然比较模糊

    • Four Cascades: 把相机的可见范围分成四段

      每一段单独使用一张阴影贴图
      近处阴影非常清晰,整体过渡平滑,
      性能开销最大,因为要生成并采样更多阴影贴图

    移动端推荐:No Cascades 或 Two Cascades
    PC、主机推荐:Four Cascades(效果最好)

  • Cascade splits:每个级联的分割比例 从左到右 从近到远

    段数由 Shadow Cascades 决定

光源组件中的相关参数

内置管线的光源组件具体可见:U1L11——光源组件

image

  • Shadow Type(阴影类型)

    • No Shadows :不投射阴影
    • Hard Shadows:阴影边缘清晰,性能好,但效果生硬
    • Soft Shadows:阴影边缘有模糊过渡,更自然,但性能消耗更大。
  • Baked Shadow Angle(烘焙阴影角度)

    仅用于 烘焙光源 (Baked Light),控制软阴影的模糊角度
    值越大,阴影边缘越模糊
    实时光源不会用到这个参数

  • Realtime Shadows(实时阴影相关设置)

    • Strength(阴影强度 0~1)

      • 1:完全黑色阴影
      • 0.5:半透明阴影
      • 0:阴影不可见
    • Resolution(阴影贴图分辨率)

      • Use Quality Settings:使用质量设置中的全局设置质量,也可以单独设置
      • Low Resolution(低分辨率):一般阴影贴图尺寸为 256 * 256 或 512 * 512
      • Midium Resolution(中等分辨率):一般为 1024 * 1024
      • High Resolution(高分辨率):一般为 2048 * 2048
      • Very High Resolution(超高分辨率):一般为 4096 * 4096
    • Bias(偏移)

      控制阴影深度偏移,用来减少 阴影自遮挡问题
      值越大,阴影与物体会分离
      通常在 0.05 ~ 0.1 范围内调整

    • Normal Bias(法线偏移)

      按照表面法线方向偏移采样位置
      主要减少阴影抖动和摩尔纹
      值太大会让阴影“漂浮”,太小则容易自遮挡

    • Near Plane(近裁剪面)

      定义阴影摄像机的近平面
      值太小:精度低,阴影抖动明显
      值太大: 可能裁剪掉近处的阴影

渲染组件中的相关参数

Mesh Renderer 具体可见:US3S10L1——网格、网格渲染器、材质、着色器等之间的关系

image

  • Cast Shadows: 决定该物体是否投射阴影

    • Off:不投射阴影
    • On:始终投射阴影
    • Two Sided:双面几何体(如平面)也能投射阴影。
    • Shadows Only:物体本身不可见,但仍然投射阴影
      (常用于特殊效果,比如只显示阴影的隐形角色)
  • Receive Shadows: 决定该物体是否接收阴影

    • 勾选:物体表面会显示其他物体投下的阴影
    • 不勾选:物体不接收阴影(比如天空盒、特效平面)

SRP (URP) 管线设置阴影质量

工程设置中的质量设置

URP 管线的阴影质量相关设置分为两个地方

一是在:Project Setting —— Quality —— Shadows 中:

image

  • Shadowmask Mode:遮罩模式

    image

    • Shadowmask(阴影遮罩)

      静态物体的阴影都来自光照贴图,动态物体投射的阴影混合在 Shadowmask 里

    • Distance Shadowmask(距离阴影遮罩)

      近处用实时阴影,远处用光照贴图里的 Shadowmask,平衡性能和质量

    移动端建议选择 Distance Shadowmask

二是在 URP 本身的渲染管线配置文件(Universal Render Pipeline Asset)中:

要找到当前项目中使用的 Universal Render Pipeline Asset,可以在 Project Setting —— Quality —— Rendering —— Render Pipeline Asset 找到

image

然后选中 Universal Render Pipeline Asset,即可在 Inspector 窗口内设置阴影质量相关:

image

  • Max Distance(最大距离)

    阴影可见的最大距离(单位:米)
    超过这个距离的物体不会渲染阴影
    值越大:性能开销越高,值太小:远处物体阴影消失

  • Working Unit(工作单元)

    设定单位制,只要影响后面的级联影响分段的设置

    image

    • Metric(米)
    • Percent(相对于 Max Distance 的比例)
  • Cascade Count(级联阴影数量)

    越多 → 近处阴影更清晰,但性能开销更大

    常见设置:

    • 移动端:2
    • PC、主机:4
  • Split 1、2、3、Last Border

    定义各级联阴影的分割点
    近处级联区域较小、分辨率集中、阴影清晰
    远处级联范围大、阴影模糊一些、但节省性能

  • Depth Bias(深度偏移)

    在光源深度图中沿着 视线方向 偏移采样点
    用来减少阴影自遮挡
    值太大会导致阴影和物体脱离

  • Normal Bias(法线偏移)

    按照表面法线方向偏移采样点
    减少阴影抖动和摩尔纹
    值太大会导致阴影漂浮感明显

  • Soft Shadows(软阴影)

    • 勾选:阴影边缘柔和模糊
    • 未勾选:阴影边缘锐利

    软阴影更真实,但开销更大(需要多次采样)

    • Quality(软阴影质量)

      image

      • Low:性能好,但边缘锯齿感明显
      • Medium: 折中方案
      • High:边缘柔和平滑,但性能消耗较大。

光源组件中的相关参数

image

  • Shadow Type(阴影类型)

    image

    • No Shadows :不投射阴影
    • Hard Shadows:阴影边缘清晰,性能好,但效果生硬
    • Soft Shadows:阴影边缘有模糊过渡,更自然,但性能消耗更大
  • Realtime Shadows(实时阴影相关设置)

    • Strength(阴影强度 0~1)

      • 1:完全黑色阴影
      • 0.5:半透明阴影
      • 0:阴影不可见
    • Bias(偏移):控制阴影深度和法线偏移

      默认跟随 URP Asset 设置,也可以自定义

      image

      • Depth(深度偏移)

        在光源深度图中沿着 视线方向 偏移采样点
        用来减少阴影自遮挡
        值太大会导致阴影和物体脱离
        通常在 0.05 ~ 0.1 范围内调整

      • Normal Bias(法线偏移)

        按照表面法线方向偏移采样点,减少阴影抖动和摩尔纹
        值太大会导致阴影漂浮感明显,太小则容易自遮挡

    • Near Plane(近裁剪面) 定义阴影摄像机的近平面

      值太小:精度低,阴影抖动明显
      值太大: 可能裁剪掉近处的阴影

    • Soft Shadows Quality(控制软阴影的质量)

      默认跟随 URP Asset 设置,如果覆盖,可以选择不同的采样质量

      image

    • Custom Shadow Layers (自定义阴影层级)

      默认情况下,光源的阴影会影响所有受光物体
      勾选后,可以选择特定的 Shadow Layer,只让光源对指定层的物体投射阴影
      常用于优化(只让关键物体投射阴影)、或特殊效果(比如只让角色的光源影响角色本身)。

      image

渲染组件中的相关参数

image

  • Cast Shadows: 决定该物体是否投射阴影

    • Off:不投射阴影
    • On:始终投射阴影
    • Two Sided:双面几何体(如平面)也能投射阴影
    • Shadows Only:物体本身不可见,但仍然投射阴影
      (常用于特殊效果,比如只显示阴影的隐形角色)
  • Static Shadow Caster:静态阴影投射体

    启用后,物体会被当作 静态阴影投射体。
    意味着它不会在运行时动态更新阴影,而是作为静态几何体来处理
    可以减少性能开销(因为不需要每帧更新阴影)
    如果物体在运行时会移动/旋转,那么它的阴影也不会跟随更新,可能造成错误。
    一般用于 建筑、地形、石头、不会动的大型物体