题外话:
刚刚结束的2019年GlobalGameJam,由于本菜鸡不想用C2做遮罩导致团队选择了Unity,最后因为不熟悉相关骚操作导致了打包失败的一系列问题,最后的最后就是在过去24小时后,换了游戏引擎,Google了遮罩发现了遮罩并不是那么难~,因此将其写成博客分享给大家。
参考博客:Making a simple mask (可能需要科学上网)
遮罩的原理:
遮罩,就是使用两张图片重叠,使第二张图片“挖洞”,洞的形状就是第一张图片的形状。
我们可以使用遮罩来对某些精灵做部分显示的操作,也可以做成类似迷雾探索的效果~~
实现:
实现过程:
1、建立两个图层,一个图层是背景bd,一个图层是遮罩mask,游戏相关的内容需要放置在这两个图层之间。
2、将mask图层左边的Layer properties中的Force own texture设置成Yes
3、先放置一张背景图在图层bd中,或者直接调整它的Background color属性
4、接着在图层mask上创建一张黑色的遮罩,将其覆盖整个视窗
5、同样图层上创建一个精灵,这个是做为挖洞的图片,最好和遮罩的颜色反差比较明显
6、将精灵light放置在遮罩上方,将它左边的Effects属性中的Blend mode 修改为 Destination out
7、这个时候你会发现已经实现了挖洞效果,我们在游戏场景的“洞口”看到了背景的颜色
8、我们在mask图层和bg图层之间创建一个图层player,实现玩家迷雾探索的效果
9、在player图层上创建一个精灵表示玩家,给玩家精灵加上移动组件,我选择的是 8Direction 将其调整成只能4方向无角度的移动方式
10、给mask图层中的light对象加上Pin这个组件
11、在EventSheet事件表中,加上一条简单的逻辑
12、启动游戏,我们看到随着玩家移动,光也随着玩家移动,效果完成。
工程文件:https://pan.baidu.com/s/1Vwta1CE_lr7qFk87ZWJIAg dgt4