Unity - A计划(永久有效期) 扫二维码继续学习 二维码时效为半小时

(197评价)
价格: 4431.00元
Mathf.Abs(h)已经大于1了。角色动画 anim.SetBool("Move", true);应该设置成功了,可是角色再idel切换为run状态还会有几秒间隔是什么原因
vigo发起了问答2019-07-11
2
回复
742
浏览
 void Update()
    {
        float h = Input.GetAxis("Horizontal");
        float v = Input.GetAxis("Vertical");
        if(h>0)
            print(Mathf.Abs(h));
        Vector3 newVel = Rigidbody.velocity;
        if (Mathf.Abs(h) > 0.01f || Mathf.Abs(v) > 0.01f)
        {
            print("444");
            anim.SetBool("Move", true);
            Rigidbody.velocity = new Vector3(velocity * h, newVel.y, velocity * v);
            transform.LookAt(new Vector3(h, 0, v) + transform.position);
        }
        else
        {
            anim.SetBool("Move", false);
            Rigidbody.velocity = new Vector3(0, newVel.y, 0);
        }
    }

如上代码段,输出结果为

而且切换的间隔我已经改的很短

为什么角色动画切换还有时间间隔?

所有回复
发表回复
你还没有登录,请先 登录或 注册!