1、Animation动画的创建方式:先在GameObject上添加一个Animation组件。
![Unity3D:[1]animation与anmimator](https://exp-picture.cdn.bcebos.com/6061b9cd0c6efbf26357ac63127bbbf4db58da78.jpg)
2、选中添加了Animation组件的GameObject并按Ctrl+6打开动画控制器。单击动画控制器左上角,红色原点下方,选择Create New Clip创建新动画。
![Unity3D:[1]animation与anmimator](https://exp-picture.cdn.bcebos.com/8a17b3042e6817e93c05d74cd356d53da924ce78.jpg)
3、这个时候,创建的动画格式是这样的:
![Unity3D:[1]animation与anmimator](https://exp-picture.cdn.bcebos.com/50189b40102a04e24746e3f62b7aa010bd33c278.jpg)
4、在GameObject中添加脚本,并输入以下代码控制播放动画:animation.Play("RotationY180_animation")稆糨孝汶;其中animation是Unity3D预先设定好的,相当于Animation animation = gameObject.GetComponent<Animation>();
5、Animator动画的创建方式:现在对象上添加一个Animator组件
![Unity3D:[1]animation与anmimator](https://exp-picture.cdn.bcebos.com/a31e1214c27bd282036d78f23cb1eef97ebd3679.jpg)
6、选中添加了Animation组件的GameObject并按Ctrl+6打开动画控制器。单击动画控制器左上角,红色原点下方,选择Create New Clip创建新动画。
![Unity3D:[1]animation与anmimator](https://exp-picture.cdn.bcebos.com/023cff37c97622bcee2116d3a05fd54604962879.jpg)
7、这个时候,创建的动画格式是这样的:
![Unity3D:[1]animation与anmimator](https://exp-picture.cdn.bcebos.com/460fdc8333bf3bef94ab890c3f3ea8db564a1a79.jpg)
8、如果要用代码控制,要先打开Animator控制器,如图:
![Unity3D:[1]animation与anmimator](https://exp-picture.cdn.bcebos.com/cf6d451b1edef4dc0fddcaab45ecd3d968750c79.jpg)
9、先创建动画之间的Transition,鼠标右键创建。
![Unity3D:[1]animation与anmimator](https://exp-picture.cdn.bcebos.com/059057299a8839135701355a26bcbe2f46707c79.jpg)
10、在Animator控制器的左下角,设置一个Parameters,这里设置的是Trigger
![Unity3D:[1]animation与anmimator](https://exp-picture.cdn.bcebos.com/03605157935653bb34c4bd4f1d0b312104617179.jpg)
11、然后在你想使用这个参数的动画的Transition起点中添加这个变量。这里说的哌囿亡噱Transition起点是指之前创建Transition时,箭头的起始状态,如下图,如果你要着抹较氰控制的动画是RotationY180,那么你就要单击Idle,并设置。设置方式,如下图,单击transition的起始状态,在右边的Inspector中单击Transitions然后在最下面的Conditions中选择你刚刚创建的Parameters。
![Unity3D:[1]animation与anmimator](https://exp-picture.cdn.bcebos.com/e2aefe781431dfb6e8888ed212cf02532e636379.jpg)
![Unity3D:[1]animation与anmimator](https://exp-picture.cdn.bcebos.com/3c42a5ea3e86304888a70e60c33104ebf7a75279.jpg)
12、在添加了这个Animator组件的GameObject上添加脚本,并输入下面代码:钽吟篑瑜Animator _anitor = gameOb枣娣空郅ject.GetComponent<Animator>(); AnimatorStateInfo stateinfo = _anitor.GetCurrentAnimatorStateInfo(0); if (stateinfo.nameHash == Animator.StringToHash("Base Layer.Idle") && !_anitor.IsInTransition(0)) { _anitor.SetTrigger("isR1"); }来控制动画的执行。
![Unity3D:[1]animation与anmimator](https://exp-picture.cdn.bcebos.com/506d92f1d8a72633bf601457c02c56ee7a7f4479.jpg)