Unity 使用SpriteMask
1.创建一个Sprite 和 一个SpriteMask
2.Sprite的 MaskInteraction效果如下
VisibleOutsideMask 效果:
VisibleInsideMask 效果:
3.遮罩分组
方法一:通过SortingGroup
1.给SpriteMask添加SortingGroup组件
2.给Sprite的SortingGroup设置SortingLayer 和 OrderInLayer
3.将Sprite设置为SpriteMask的子节点 ,来让Mask只对 子节点生效
方法二:通过设置CustomRange
1.勾选SpriteMask的CustomRange
2.分别设置Mask的 Front 和 Back 的 SortingLayer 和 OrderInLayer
3.设置Sprite的 SortingLayer 和 OrderInLayer
- 注意:
- 当Mask的Front 和 Back 的SortingLayer相同时,Sprite的设置:
- 与Mask相同SortingLayer , 且OrderInLayer 要在Back和Front之间
- 当Mask的Front 和 Back 的SortingLayer不同时,Sprite的设置:
- 若Sprite与Front的SortingLayer相同 , 则OrderInLayer 要小于Front
- 若Sprite与Back的SortingLayer相同 , 则OrderInLayer 要大于Back
- 当Mask的Front 和 Back 的SortingLayer相同时,Sprite的设置:
4.SpriteMask的AlphaCutoff (遮罩的溶解效果)
需要设置Mask的图片的AlphaSource 为 FromGrayScale 来让AlphaCutoff生效