NGUI利用深度测试实现新手引导遮罩

实现原理:实际上就是先利用渲染队列渲染,然后再利用ZTest,改变渲染的遮挡关系。

PS:Depth Testing:深度测试,也叫深度缓冲。只有最靠近观察者的物体会被绘制。深度即Z,该值越小表示离观察者越近,该值越大表示离观察者越远。

具体操作步骤:

1、修改NGUI的Unlit - Transparent Colored Shader,将ZWrite改为On。

2、创建3个Panel,分别为叫GameObject、Mask、Cutout,里面分别创建一个Sprite,

3、将Panel的渲染方式改为Explicit,渲染队列分别改为3000(GameObject)、3002(Mask)、3001(Cutout),这一步会是渲染按照GameObject->Cutout->Mask的顺序渲染。

4、调整他们的Z轴:GameObject为300,Mask为200,Cutout为100。这一步会使渲染的遮挡关系发生改变,会使Cutout挡住Mask。我们再把Mask下面的Sprite透明度调为1。最后神奇的事情出现了!

转载于:https://www.cnblogs.com/oy-caw/p/4823512.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值