关注

[我的Unity学习之路]:检测动画播放完毕的方法

这是标题

  1. 设置Animator Controller
    首先,确保你的Animator Controller中包含了需要播放的动画状态,并且每个动画状态都有一个对应的动画clip。
  2. 在你需要的地方进行动画播放,随后用下面的代码进行检测
using UnityEngine;
public class Controller : MonoBehaviour
{
    [Header("动画")]
    Animator animator;
    private bool isInspect = falsevoid 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,即动画的播放进度

转载自CSDN-专业IT技术社区

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/ZuoXiu_948794K/article/details/139723695

评论

赞0

评论列表

微信小程序
QQ小程序

关于作者

点赞数:0
关注数:0
粉丝:0
文章:0
关注标签:0
加入于:--