这是标题
- 设置Animator Controller
首先,确保你的Animator Controller中包含了需要播放的动画状态,并且每个动画状态都有一个对应的动画clip。- 在你需要的地方进行动画播放,随后用下面的代码进行检测
using UnityEngine;
public class Controller : MonoBehaviour
{
[Header("动画")]
Animator animator;
private bool isInspect = false;
void Start()
{
//获取当前物体的动画状态机
animator = GetComponent<Animator>();
}
// Update is called once per frame
void Update()
{
// 检测特定动画是否播放完毕
AnimatorStateInfo stateInfo = animator.GetCurrentAnimatorStateInfo(0); // 0是动画层的索引,通常用0即可
//检测当前播放动画的名字
if (stateInfo.IsName("inspect_weapon_AK"))
{
//若播放的我需要的特定动画,设置状态为false
isInspect = true;
}
else
//否则为false
isInspect = false;
}
你可以使用stateInfo.normalizedTime >= 1.0f 来表示动画的标准化时间已经达到或超过1.0,即动画的播放进度