利用Blend来实现遮罩

利用Blend来实现遮罩_第1张图片
地鼠被挡住.png

效果如图,一块透明的板,罩住了后面的地鼠

地鼠shader:"Queue"="Geometry+1"
遮罩shader:"Queue"="Geometry",开启Blend SrcAlpha OneMinusSrcAlpha
两个shader确认开启zwrite和ztest(默认这两个都是开启的)

原理:


利用Blend来实现遮罩_第2张图片
渲染先后关系.png

可以看到,遮罩板先于地鼠被渲染,并写入z值,当渲染地鼠时,由于z值比遮罩板小,所以被舍弃,颜色不写入颜色缓存内.
缺点是,所以在遮罩板渲染队列(Queue)之后的物体都会被挡住,例如上面的奇奇影子,因此要小心处理渲染先后关系

你可能感兴趣的:(利用Blend来实现遮罩)