NearClipPlane = 0.1时,毛发对深度的写入出现问题,导致相关的反射计算和AO效果错误

配置里将NearClipPlane设置为0.1时,背景存在半透明水面(水面有被其他不透明物体遮挡),Lumen反射出现问题。[Image Removed]

定位到该段代码导致

[Image Removed]

请问:

1.是为了解决什么引入这段偏移,是否可以直接将偏移量缩小。

2.缩小后,是否存在别的隐患。(比如ZFighting?)

重现步骤
问题描述:

配置里将NearClipPlane设置为0.1时,背景存在半透明水面(水面有被其他不透明物体遮挡),Lumen反射出现问题。[Image Removed]

定位问题:

该渲染步骤绘制出的问题

[Image Removed]

该绘制写入错误的渲染深度,毛发对应像素​的深度均为零

[Image Removed]

​定位代码:

NearClipPlane被修改后,深度值变得非常小,导致该段代码经过DepthBias偏移后​变成负的了。

[Image Removed]

[Image Removed]

请问:

1.是为了解决什么引入这段偏移,是否可以直接将偏移量缩小。

2.缩小后,是否存在别的隐患。(比如ZFighting?)​

本地尝试重现问题,但和Lumen没关系,是HairStrands和半透的排序问题,的确是clip plane改变导致的问题。

试试r.HairStrands.ComposeAfterTranslucency 0或者3是否可以满足需求。

至于你提到的这处代码作用中bias改小是否有问题我不了解,看描述这个仅和AO等相关。而且我本地重现和Lumen没直接关系

[Image Removed]