Version: 2023.1
配置阴影
阴影级联

阴影距离

使用 Shadow Distance 属性可以确定 Unity 渲染实时阴影的最大距离(与摄像机之间的距离)。

游戏对象距摄像机的距离越远,产生的阴影就越不明显。这有两个原因:一个原因是阴影在屏幕上看起来更小,另一个原因是远处的游戏对象通常不是人们关注的焦点。可以通过为远处的游戏对象禁用实时阴影渲染来利用此原理。这样可以节省浪费的渲染操作,并可以提高运行时性能。此外,没了远处阴影后,场景通常看起来更好。

如果当前摄像机远平面小于阴影距离,Unity 将使用摄像机远平面而不是阴影距离。

要掩盖超出阴影距离的缺失阴影,可以使用诸如雾效之类的视觉效果。

设置阴影距离

在内置渲染管线中,请在项目的质量设置 (Quality Settings) 中设置 Shadow Distance 属性。

在通用渲染管线 (URP) 中,请在通用渲染管线资源中设置 Shadow Distance 属性。

在高清渲染管线 (HDRP) 中,请为每个体积 (Volume) 设置 Shadow Distance 属性。

Reduce flickering shadows

Shadows might flicker if they’re far away from the camera. Refer to Understanding the View Frustum for more information.

If shadows are closer to the camera than the world space origin, enable camera-relative culling. Unity uses the camera as the relative position for shadow calculations instead of the world space origin, which reduces flickering.

To enable camera-relative culling, follow these steps:

  1. Go to Project Settings > Graphics > Culling Settings > Camera-Relative Culling.
  2. Enable Shadows.

Shadow Distance 和 Shadowmask 光照模式

如果场景使用 Shadowmask 光照模式,则 Unity 会使用光照探针或阴影遮罩纹理来渲染从混合光源产生的超出阴影距离的阴影。还可以配置 Unity 如何渲染超出阴影距离的阴影。

配置阴影
阴影级联