unity游戏场景转换时的淡入与淡出(初学)

淡入淡出的制作

首先创建个Image,将其铺满整个摄像机并调整颜色为纯黑,以达到遮罩的作用。(快捷方法是选中Image,然后选中图中的扩展图标。按住shift+alt键选中拓展中的最右下角的全部拓展。这样可以使这个遮罩层自动适应摄像机的大小。)unity游戏场景转换时的淡入与淡出(初学)


然后点击Window工具创建Animation。创建FadeIn和FadeOut动画。

我们先选中FadeIn(进入黑色),点击Add Property按钮为其添加属性Image.Color,得到如图所示。unity游戏场景转换时的淡入与淡出(初学)

我们首先选中第一帧(记得要点最上面选中,不要点♦)将Color.a属性值改为0,再选中最后一帧,将其Color.a属性改为1。

我们可以看到第一帧效果:

unity游戏场景转换时的淡入与淡出(初学)

最后一帧效果:

unity游戏场景转换时的淡入与淡出(初学)

这样我们就完成了FadeIn的从清晰到黑色的渐变了。同理,我们可以完成FadeOut的操作。

淡入淡出的Animator

只有上面的设计是不行的,我们还需要设计它的Animator,即动作机。

双击我们设计Animation时自动出现的状态机:unity游戏场景转换时的淡入与淡出(初学)

进入状态机编辑模式,将FadeIn动画和FadeOut动画拖入Animator界面。

因为我们刚开始进入游戏时默认的是从黑屏渐渐淡出,所以我们将Entry与FadeOut关联起来,否则一进入游戏就会全屏黑,显然这不是我们想要的。

  我们将FadeIn和FadeOut关联得到如图:unity游戏场景转换时的淡入与淡出(初学)  

点击转换的路径(白色箭头)我们可以得到如图:unity游戏场景转换时的淡入与淡出(初学)

我们将has exit time的√去掉(这个作用是使动画立刻过渡)将settings里的数据都改为0。

但此时并不算完成,我们应该为其添加转换条件,否则我们无法控制何时淡入何时淡出。

这样,我们就需要为其添加触发器!

unity游戏场景转换时的淡入与淡出(初学)点击图中的+符号,选择Trigger选线我们可以创建一个触发器。我们将其更名为FadeIn。在FadeOut和FadeIn中间转换的路径中点击Conditions将其添加进去,这样我们就有了一个从淡出到淡入的触发器。同样的方法,我们为FadeIn到FadeOut中的路径添加FadeOut触发器。

到此我们的淡入淡出Animator算是完成。

淡入淡出的调用

      我们完成淡入淡出的设计后,最重要的一点就是调用它。

      我们在脚本中得到Animator后,只需要用SetTrigger(“FadeIn”)或者SetTrigger(“FadeOut”)触发一下触发器就可以完成我们想要的转换了。