对于一个游戏/应用来说,动画是不可或缺的成分,对用户的使用体验有很大影响.
Unity3D中Animator组件具有对动画按需求进行相应处理的功能.
相关的一些API可以去Unity官网看看:
以下为小编(编程萌新)入门级别的个人研究.(大神请绕路)
Animator组件:
一.从创建动画开始
在unity的Hierarchy层级窗口下选择需要做动画的对象,
按快捷键"Ctrl+6",弹出Animation动画制作窗口
点击creat创建动画并保存在合适的位置
关闭如上窗口,重新Ctrl+6打开,点击AddProperty后面出现可以操作的选项:
一般情况下我们只做一些Transform类的简单动画,比如位移,旋转,缩放;产生的动画切片会保存在相应的文件夹里
二.实现动画的动态切换
然后找到Animator控制器文件:
(看,它是这个样子的东东)
双击它
会在场景视图出现一个新的视图
(以上案例为一个完整人物动画状态系列)
点击切片之间的白色连线,得到右侧的窗口信息
其中的判断条件可以在左侧自定义:
如上图片中的七个参数(IsRun,Attack等),都是自行设定的参数,通过点击小加号,可以进行创建,初始值可以根据自己需要进行设定
动画切换可以用代码改变参数值来实现动态控制;
相应的API如下:
1.Float类型--> SetFloat("参数名",float类型参数值); 例子:
2.Int类型--> SetInteger("参数名",int类型参数值);
3.bool类型--> SetBool("参数名",bool值);
4.Trigger类型--> SetTrigger("参数名");
注:Float类型和Int类型的参数值在白线的条件设置时可以选择大于/小于某一值的时候,进行动画切换,
而Trigger则是直接触发切换即可
暂时先讲这么多,以后研究更加深入的时候会对此进行追加或修改.
PS:动画切换一般都搭配有状态机, 使用状态机可以让人物的当前状态下应该做的事情,条理更加清晰;