Unity:按钮控制动画播放
在unity中控制动画的主要思路是:
如何运用Animaton控制器和如何在脚本中获取Animator组件。
本篇将讲解一个通过Button来触发动画控制器的Trigger实现模型动画播放的实例,并不涉及其他动画播放的控制方法,但其他动画控制的解决思路都是类似的。
1.导入一个模型,创建一个动画控制器,并命名。
2.将动画文件导入动画控制器,进行逻辑设置
这里我将Idle动画设置为最开始的动画并且循环播放,AtkA 0动画则设置为有条件触发(条件名Test),并且播放完一次后回到Idle动画(即AtkA 0自身不循环播放并设置返回路径),以下不展示动画循环播放的设置(即在动画属性界面勾选loop)。
3.动画状态机处理完毕,将动画机挂载到模型身上,并给模型挂载脚本(命名Player),注意脚本也要导入动画机(这里也可以用GetComponent方法直接获取模型身上的动画组件),脚本代码如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Player : MonoBehaviour
{
public Animator ani;
void Start()
{
}
void Update()
{
}
public void Test()
{
this.ani.SetTrigger("Test");
}
}
给脚本拖入动画机
4.最后创建button,设置button点击事件,将模型整个拖入点击事件,设置触发Test()函数即可完成。