Unity中使用Animator和trigger参数做简单的UI动画
概述
本文章通过一个制作Toast弹窗的例子,详细讲解如何使用Animator和它的trigger参数来创建简单的UI动画。
Toast弹窗会从屏幕底部下降,停留3秒,然后上升到屏幕上面消失。
最终的效果如下:

原理
Unity帮我们做每帧插值,改变我们设定的属性。
Toast组件构成
首先根节点是一个空的GameObject,名字ToastRoot
,对齐屏幕顶端,没有Height:
接下来是背景图节点BgRoot
,同样向上对其,高度96像素:
最后是Toast的内容,这一部分任君发挥了,我这里只放了一个文本框TextContent
:
添加Animator组件
我们的目的是让Toast弹窗动起来,所以我们的动画操作对象应该是BgRoot
这张图片。
我们往BgRoot
上添加一个Animator
组件。添加之后可以发现Controller
字段是空的,所以我们还得手动创建一个AnimationController
。在合适的路径下,我们右键Project视图下的空白处,选择Create -> AnimationController
,给新文件取名为ToastAnimController
。然后我们回到BgRoot
,把controller文件拽拖到Controller
字段上。
创建default状态动画
Toast弹窗的初始状态当然是隐藏在屏幕上方