Unity - 我的空闲动画不会循环播放

时间:2016-08-25 00:20:39

标签: javascript unity3d

我的武器有2个动画,攻击动画和空闲动画,这里是动画组件:

enter image description here

当然,我需要我的空闲动画循环,而攻击动画不活跃,但是当我玩我的游戏时,我的空闲动画只播放一次,但我的攻击动画播放正常,但是我需要我的空闲动画循环

所以我尝试将'换行模式'更改为'循环':

enter image description here

它完美地循环我的空闲动画,但是一旦我攻击它就会循环我的攻击动画!

如果有帮助,这是我的近战脚本:

if( Input.GetButtonDown("Fire1"))
{
    // Attack animation
    Hatchet.GetComponent.<Animation>().Play("Attack");

    //Attack Function
    var hit : RaycastHit; 
    if (Physics.Raycast (transform.position, transform.TransformDirection(Vector3.forward), hit))
    {
        Distance = hit.distance;
        if (Distance < maxDistance)
        {
            hit.transform.SendMessage("ApplyDamage", theDamage, SendMessageOptions.DontRequireReceiver);
        }
    }
}

if(Hatchet.GetComponent.<Animation>() == false)
{
    Hatchet.GetComponent.<Animation>().CrossFade("Idle");
}

2 个答案:

答案 0 :(得分:1)

我认为使用Animator(Window - &gt; Animator)会更容易,它允许您以GUI格式设置动画的顺序和周期。

https://unity3d.com/learn/tutorials/topics/animation/animator-controller

答案 1 :(得分:0)

在攻击完成后播放空闲动画

https://docs.unity3d.com/ScriptReference/AnimationState-time.html

您正在循环心情中设置所有动画,而不仅仅是空闲动画。