孙广东 2017.7.22
http://blog.csdn.NET/u010019717
SpriteMask 是Unity 2017.1 开始添加2d功能!, SpriteMask 影响的是 Sprite Renderder 组件
Mask 默认印象的范围(就是不勾选 Custom Range )是 所有Sprite 。
如果勾选了, 就可以设置范围了, 层级的范围的优先级是 Sorting Layer -》 Order in Layer 这样的顺序
还有一点需要注意。 order in layer 是大于 和 小于的范围, 等于是不会被影响的!
比如Sprite 是
Default - 0, Mask范围是 Front
Default - 5, Bask Default - 0 . 这样的设置不会影响到Sprite。
我有一个Mask是 圆形:
如果选择 :
如果选择:
1、 最常见的镂空效果
上方选择了 Visible Outside Mask, 就是镂空效果!!
2、 在墙上钻一个洞
原理是对墙 做了镂空操作了! Player 有个子对象,它是Mask , 跟随移动, 这个Mask 会影响到 墙!
Player 是没有选中 受到Mask 影响的!
这个子对象mask 的设置:
Player 的设置:
还有墙的设置:
3、 跟多类似于幻灯片切换效果
主要是控制 Mask 的 这个 Alpha 值
但是 Mask 不是普通的图片而是 灰度图像 !!! 这个就需要美术了!
然后 贴图的导入设置如下:
还是使用之前的Mask 图像, 按照上图设置为 From Gray Scale !
Alpha Cutoff =
0.589 时的效果:
Alpha Cutoff = 0.622 时的效果:
4、影响类似特效
特效要使用Mask
但是有一个问题, 这种: 多个特效, 多个Mask 的情况。 本来像 一个Mask 只是控制一个特效。
怎么解决?
让特效 和 Mask 在一组内