版本: Unity 6 (6000.0)
语言English
  • C#

CommandBuffer.SetGlobalDepthBias

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实会阅读用户提出的每一项更改建议,并在适用时进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

public void SetGlobalDepthBias(float bias, float slopeBias);

参数

bias 缩放 GPU 的最小可解析深度缓冲区值以产生恒定的深度偏移。最小可解析深度缓冲区值因设备而异。

设置为负值可将几何体绘制得更靠近摄像机,或设置为正值可将几何体绘制得更远离摄像机。
slopeBias 缩放最大 Z 斜率(也称为深度斜率)以针对每个多边形产生可变深度偏移。

不平行于近裁剪平面和远裁剪平面的多边形具有 Z 斜率。调整此值以避免此类多边形上的视觉伪像。

描述

添加一个命令来设置全局深度偏差。

深度偏差(也称为深度偏移)是 GPU 上的一个设置,它决定了绘制几何体的深度。调整深度偏差以强制 GPU 在相同深度的其他几何体之上绘制几何体。这可以帮助您避免不必要的视觉效果,例如 Z 冲突和阴影痤疮。

要为特定几何体设置深度偏差,请使用ShaderLab 中的 Offset 命令RenderStateBlock。要设置影响所有几何体的全局深度偏差,请使用此命令。GPU 除了全局深度偏差之外,还会为特定几何体应用深度偏差。

在内置渲染管线中,Unity 在阴影投射器传递期间将全局深度偏差设置为(1.0, 1.0)

要减少阴影痤疮,您可以使用灯光偏差设置获得类似的视觉效果;但是,这些设置的工作方式不同,并且它们不会更改 GPU 上的状态。有关更多信息,请参阅阴影故障排除