ZTest 深度测试
深度测试也叫深度缓冲,只有最靠近观察者的物体会被绘制,深度即Z,该值越小表示离观察者越近,相反越大离观察者越远
ZWrite On 深度记录(默认)
ZWrite Off 不记录此深度,通常用于半透明物体
ZTest 的默认值是 LEqual,即当深度小于或等于本身深度值时,该物体渲染,
ZTest共有七种类型
Less
LEqual
Euqul
NotEqual
Greater
GEqual
Always
具体作用如下
Shader "Custom/PassFive" {
Properties {
//定义一个贴图
_MainTex ("Base (RGB)", 2D) = "white" {}
}
SubShader
{
Tags {"RenderType" = "Opaque" "IGNOREPROJECTOR" = "TRUE" "QUEUE" = "Transparent"}
LOD 200
Pass
{
//AlphaTest Greater 0.6
//AlphaTest Less 0.5
//AlphaTest Greater 0.4
//AlphaTest Less 0.9
Blend SrcAlpha One
//Blend SrcColor OneMinusSrcColor
//BlendOp RevSub
//ColorMask RG
//ColorMask RB
ZTest Always
// 通过绑定固定通道来使用定点色
BindChannels
{
Bind "Vertex", vertex // 绑定定点
Bind "Normal", normal
Bind "Color", color
Bind "Texcoord", texcoord0
Bind "Texcoord", texcoord1
}
//给材质设置 贴图
SetTexture [_MainTex]
{
Combine texture * primary double
}
}
}
FallBack "Diffuse"
}
ZTest的作用看下面的图片
没错本来不应该在摄像机中看到的图片,竟然被看到了
这就是使用了 ZTest Always(总是被绘制)的作用
更过功能自行测试