在Unity中我们一般要通过要通Animator类调用类中相应的触发方法,这样做的前提是必须要在动画属性面板中把这动画设置相应的触发条件(比如设置动画的触发条件为布尔值触发、数值触发等等),可以说是有点麻烦!
下面新的一种动画触发方法即将到来,也就是通过AnimationClip类进行动画的触发。(而且注意这种方法不用设置相应的动画触发条件,可以直接触发相应的动画)
代码如下:
//通过AnimationClip类来设置动画属性,以方便在Unity属性面板直接赋值
public AnimationClip anim;
void Start() {
//获得绑定这个脚本游戏物体身上的Animator动画控制器组件
Animator animator = GetComponent<Animator>();
//播放动画
animator.Play(anim.name);
//输出动画的播放时长
Debug.Log(anim.length);
}
保存脚本后回到Unity当中,把这个脚本绑定到游戏场景中的某一个游戏物体!
记得一定要把我们要播放的动画赋值给我们脚本(图中的红箭头就是我给游戏物体Cube设置的一个动画),在这里我采用的是给Cube物体的颜色变红动画!
而且要注意的是动画一定要添加到动画控制器中,可以不和默认动画或者是其他的动画进行连线,也就是可以直接如下图所示:
运行游戏,结果如下所示:
可以看出游戏物体Cube变成了红色,而且Console控制台输出了动画的时间是1秒!