操作方法
1)Animation动画的创建方式: 先在GameObject上添加一个Animation组件。
选中添加了Animation组件的GameObject并按Ctrl+6打开动画控制器。单击动画控制器左上角,红色原点下方,选择Create New Clip创建新动画。
这个时候,创建的动画格式是这样的:
在GameObject中添加脚本,并输入以下代码控制播放动画: animation.Play("RotationY180_animation"); 其中animation是Unity3D预先设定好的,相当于Animation animation = gameObject.GetComponent<Animation>();
2)Animator动画的创建方式: 现在对象上添加一个Animator组件
选中添加了Animation组件的GameObject并按Ctrl+6打开动画控制器。单击动画控制器左上角,红色原点下方,选择Create New Clip创建新动画。
这个时候,创建的动画格式是这样的:
如果要用代码控制,要先打开Animator控制器,如图:
先创建动画之间的Transition,鼠标右键创建。
在Animator控制器的左下角,设置一个Parameters,这里设置的是Trigger
然后在你想使用这个参数的动画的Transition起点中添加这个变量。这里说的Transition起点是指之前创建Transition时,箭头的起始状态,如下图,如果你要控制的动画是RotationY180,那么你就要单击Idle,并设置。设置方式,如下图,单击transition的起始状态,在右边的Inspector中单击Transitions然后在最下面的Conditions中选择你刚刚创建的Parameters。
在添加了这个Animator组件的GameObject上添加脚本,并输入下面代码: Animator _anitor = gameObject.GetComponent<Animator>(); AnimatorStateInfo stateinfo = _anitor.GetCurrentAnimatorStateInfo(0); if (stateinfo.nameHash == Animator.StringToHash("Base Layer.Idle") && !_anitor.IsInTransition(0)) { _anitor.SetTrigger("isR1"); } 来控制动画的执行。