晓月_动画系统(一)
发表于2016-09-01
Unity3d的动画系统有3类:
Legacy 旧版动画
Generic 新版动画
Humanoid 人形动画,可复用
一般使用得比较多的就是前面的2个动画系统。Legacy 使用Animation,Generic的话使用Animator组件进行控制,而且他把模型和动画进行分离控制了。现在主流一般都是使用Generic类型,也就是Animator.cs。
Animator当中最重要的就是怎么让你的模型播放动画了,这就需要一个新的组件AnimatorControllerl了。
觉得还是比以前的那套系统更加直观好看了,虽然有一点小麻烦。
1:播放动画
设置好了动画参数这个参数类型是int ,名字是state
Animator.SetInteger("state", 0 ); 后面的数字就是刚刚你设置的条件信息。
2:封装Animator为XAnimator.cs
为了更加方便的使用Animator这个脚本,我们简单的包装下,让他更聪明点。刚才发现Animator.SetInteger("state", 0 );这个方法在使用的时候第一个参数一般都是state,我们就直接把他设置为静态属性,调用方便点。然后写一个set方法之后就只需要填写一个参数就好了。
public void playAnim( int animkey );
还有一个问题,我们怎么获取这个动画组件呢?简单地的方法可以是public之后手动拖拽,每次都拖拽就比较累了。模型多的话。。。写一个方法,倒时候使用的时候可以直接把自身传递过来就可以了
public void setAnimator( MonoBehaviour mono );
一起学习请加QQ:1970007869 加我进四群