[我的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,即动画的播放进度

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值