Version: 6000.3
语言: 中文
优化 URP 中的阴影渲染
URP 中的反射

对 URP 中的阴影进行故障排除

在通用中对阴影渲染进行故障排除的技术渲染管线(Render Pipeline) 获取场景内容并将其显示在屏幕上的一系列作。Unity 允许您从预构建的渲染管道中进行选择,或编写自己的渲染管道。更多信息
请参阅术语表
(URP)。

调整 URP 中的阴影偏差设置

通过调整阴影偏差值,可以减少或消除阴影瑕疵、阴影分离(也称为彼得平移)、漏光和自阴影等阴影伪影。

在URP中,你可以在URP资产和单个光源上设置阴影偏差。

URP资产中,阴影偏差设置位于 阴影(Shadows) 分段中。你在此处设置的值是场景场景包含游戏的环境和菜单。将每个唯一的场景文件视为一个独特的关卡。在每个场景中,你放置你的环境、障碍物和装饰品,基本上是将你的游戏设计和构建成碎片。更多信息
请参阅术语表
.

要设置特定光源的阴影偏差值,请执行以下作:

  1. 光源组件的 阴影(Shadows) 部分中,确保将 阴影类型(Shadows Type) 设置为 软阴影(Soft Shadows) 或 硬阴影(Hard Shadows)。

  2. Bias 属性设置为 Custom。Unity 显示属性 DepthNormal。使用这些属性设置当前光源的阴影偏差值。

使用高阴影偏差值可能会导致光线通过网格体泄漏。这是阴影与其投射者之间存在可见间隙的地方,并导致阴影形状无法准确表示其投射者。

避免 URP 中最大光限制导致的阴影闪烁

URP 对相机在场景中创建特定视点图像的组件。输出要么绘制到屏幕上,要么作为纹理捕获。更多信息
请参阅术语表
平截头体。例如,在移动平台上,此限制为 1 个主光源和 32 个附加光源。

在前进渲染路径渲染管线用于渲染图形的技术。选择不同的渲染路径会影响照明和着色的计算方式。某些渲染路径比其他路径更适合不同的平台和硬件。更多信息
请参阅术语表
,还有每个对象的光照限制

如果可见光数量超过限制,Unity 会禁用某些光源。它可能会禁用实时阴影投射光源,从而导致阴影闪烁。

为避免此问题,请确保摄像机视锥体中的可见光数量不超过限制。您可以使用cullResults.visibleLightsRenderingData.cullResults API的数组。

以下示例演示如何使用cullresults.visibleLights数组:

public override void AddRenderPasses(ScriptableRenderer renderer, ref RenderingData renderingData)
{
    int visibleLightCount = renderingData.cullResults.visibleLights.Length;
}
优化 URP 中的阴影渲染
URP 中的反射