1

在使用某些 3D 模型时,z-test 为“LEqual”的深度遮罩着色器需要正常执行,如 screenshot1

截图1

但它给出的结果显示了需要隐藏的 3d 模型部分的灰度轮廓。[参考截图2]

截图2

我们尝试将 ZTest 从 LEqual 更改为 Always,这稍微解决了问题,但该对象再次部分可见。

Shader "Custom/mask" { 
SubShader { 
Tags {
"Queue" = "Geometry+10" 
"RenderType" = "Opaque" 
}

Lighting Off 
ZTest LEqual 
Cull Back 
ZWrite On 
ColorMask 0 
Blend One One 
Pass {Fog {Mode Off}}

} } 
4

1 回答 1

0

似乎您从遮挡网格中进行了早期 Z-pass,我猜这是重建的或运动跟踪的脸?所以眼镜是用标准材料渲染的吗?

面具材料需要提前绘制所以队列应该是 Geometry-10 什么的。除了ColorMask 0之外,所有其他标签都无关紧要。

不推荐使用 Lighting 和 Fog 并且 Blend 没有用,因为无论如何您都不会绘制到颜色缓冲区(使用 ColorMask 0 它只绘制深度)。

于 2019-01-14T19:20:34.507 回答