您的位置:首页 > 其它

判断动画状态机当前播放的动画。

2018-03-16 21:08 337 查看
    Animator  thisAni;//自身的动画控制器
    private void Awake()
    {
        //获取自身的动画控制器
        thisAni = this.GetComponent<Animator>();
    }

    float speed = 0;
    public int tempNumber = 0;
    private void Update()
    {
        if (Input.GetKey(KeyCode.W))
        {
            speed += Time.deltaTime * 0.1f;
           
            thisAni.SetFloat("speed", speed);
            speed = Mathf.Clamp01(speed);
        }

        ////设置索引图层的权重
        //thisAni.SetLayerWeight(2, 1);

        //AnimatorStateInfo 动画层状态信息类
        //GetCurrentAnimatorStateInfo 获取动画控制器中指定层的状态信息
        AnimatorStateInfo info = thisAni.GetCurrentAnimatorStateInfo(0);
        //获取当前动画状态的哈希值
        tempNumber = info.shortNameHash;
        
        //这句代码只是将字符串转换成哈希值 其他没什么卵用
        print(Animator.StringToHash("Blend Tree"));

        //判断当前状态是否为跑
        print("当前状态:" + Animator.StringToHash("Run").Equals(tempNumber));
    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  判断当前动画