我的武器有2个动画,攻击动画和空闲动画,这里是动画组件:
当然,我需要我的空闲动画循环,而攻击动画不活跃,但是当我玩我的游戏时,我的空闲动画只播放一次,但我的攻击动画播放正常,但是我需要我的空闲动画循环。
所以我尝试将'换行模式'更改为'循环':
它完美地循环我的空闲动画,但是一旦我攻击它就会循环我的攻击动画!
如果有帮助,这是我的近战脚本:
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");
}
答案 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
您正在循环心情中设置所有动画,而不仅仅是空闲动画。