最早接触遮罩,是在做毕设时,小地图的实现,当时用的是NGUI,摄像机跟随人物,进行渲染,将RenderTexture赋给图片来实现,而摄像机拍摄到的是正方形的,但需求则不一定,在这里用到了Shader遮罩。
Shader "Custom/Mask" {
Properties {
_MainTex ("Main Texture", 2D) = "white" {}
_Mask ("Mask Texture", 2D) = "white" {}
}
SubShader {
Tags { "Queue" = "Transparent" }
Lighting On
ZWrite Off
Blend SrcAlpha OneMinusSrcAlpha
Pass
{
SetTexture [_Mask] {combine texture}
SetTexture [_MainTex] {combine texture , previous}
}
}
}
后面发现UGUI有自带遮罩,只需要添加mask组件: