本文章只做纪录,来源:https://www.cnblogs.com/grassgarden/p/9784368.html
shader源码如下 其中支持mask裁剪部分(注意 有两处地方需要添加)的代码同样适合其他自定义shader
Shader "Custom/UISprite" {
Properties
{
_MainTex("Base (RGB), Alpha (A)", 2D) = "white" {}
//支持Mask 裁剪的部分
//Start
_StencilComp("Stencil Comparison", Float) = 8
_Stencil("Stencil ID", Float) = 0
_StencilOp("Stencil Operation", Float) = 0
_StencilWriteMask("Stencil Write Mask", Float) = 255
_StencilReadMask("Stencil Read Mask", Float) = 255
_ColorMask("Color Mask", Float) = 15
//End
}
SubShader
{
LOD 200
Tags
{
"Queue" = "Transparent"
"IgnoreProjector" = "True"
"RenderType" = "Transparent"
}
//支持Mask 裁剪的部分
//Start
Stencil
{
Ref[_Stencil]
Comp[_StencilComp]
Pass[_StencilOp]
ReadMask[_StencilReadMask]
WriteMask[_StencilWriteMask]
}
ColorMask[_ColorMask]
//End
Pass
{
Cull Off
Lighting Off