最早接触遮罩,是在做毕设时,小地图的实现,当时用的是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组件:
本文介绍了使用Unity的Shader遮罩技术实现特定形状渲染的方法。通过自定义Shader和利用UGUI自带的遮罩功能,作者详细阐述了如何解决摄像机渲染正方形区域与所需不规则形状之间的矛盾。
2509





