【unity】FPS快速实现全息瞄准镜

使用Unity快速实现全息瞄准镜效果

先看最终效果:






最近在做项目小地图的时候,使用到了UI层的Mask

起初想使用SpriteRenderer控制我的一个图片直接变色,但是发现了一个Bug,在Mask之内的所有SpriteRenderer下的Sprite,都是原来的基础颜色而非我想要的其他颜色,效果如图:

【unity】FPS快速实现全息瞄准镜_第1张图片

可以看到的 我是以最大的外面的圆作为Mask的大小,我要变色的SpriteRenderer是其子物体。
因为一开始我的圆是黑的,我想着会不会是被遮挡,于是以改变SpriteRenderer的Z轴位置,发现了全息瞄准镜的实现方法:

【unity】FPS快速实现全息瞄准镜_第2张图片

可以将Mask的透明度设置为1,这样不至于让子物体都看不见,而后自己也会比较隐藏,效果如上图

将子物体,我们可以换成十字瞄准等图片,然后改变到我们需要的世界坐标,比如全息镜的瞄准距离,相应改变其在Mask之下的Z轴位置。

3
其中miniMap_Parent下存放我们的全息瞄准中心的图片,改变就是改变这个父物体。

你可能感兴趣的:(untiy,unity)