晓月_动画系统(一)

发表于2016-09-01
评论1 1.2k浏览


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   加我进四群




如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引