一般的遮罩做法是在Image的节点前,增加一父节点Mask,然后通过Mask包含Image,就是用父Mask的遮罩Image
可程序的事件总不会那么顺畅的,反正就是不行
结果是锯齿严重:
具体原理不知道
或者可以通过RectMask2D解决
但是我选择了使用Shader,
结果:
代码如下:(需要RawImage才能使用mat + shader)
Shader "Custom/ImageMask"
{
Properties
{
[PerRendererData] _MainTex ("Sprite Texture", 2D) = "white" {}
_Mask ("Base (RGB)", 2D) = "white" {}
_Color ("Tint", Color) = (1,1,1,1)
_StencilComp ("Stencil Comparison", Float) = 8
_Stencil ("Stencil ID", Float) = 0
_StencilOp ("Stencil Operation", Float) = 0
_StencilWriteMask ("Stencil