触发输入时Unity无法播放动画

时间:2018-07-15 11:28:09

标签: c# unity3d

我是c#的菜鸟。当刚体进入设置为“触发”的盒子对撞机时,我一直试图触发动画“命中”。我有动画剪辑,并且控制台向我显示我已经“输入了触发器”。一旦发生这种情况,我似乎无法播放动画剪辑。顺便说一下,这是关于3D模型的。有人可以帮忙吗?

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;

    public class newAttack : MonoBehaviour {

        public GameObject tiger;
        public AnimationClip attack;

        private Animation myAnimation;

      /*  IEnumerator Wait()
        {

            myAnimation = GetComponent<Animation>();
            myAnimation.Play(attack.name);
            yield return new WaitForSeconds(3);

        }
    */
        void OnTriggerEnter(Collider other)
        {
            Debug.Log("Entered Trigger");
            myAnimation = GetComponent<Animation>();
            myAnimation.Play(attack.name);
           // StartCoroutine(Wait());
        }
// Use this for initialization

        // Update is called once per frame
        void Update () {

       }
    }

1 个答案:

答案 0 :(得分:2)

您可以尝试使用Animator并播放动画的名称(出现在动画器中)。

代码如下:

myAnimation = GetComponent<Animator>();
myAnimation.Play(attack.name);

参考:https://docs.unity3d.com/ScriptReference/Animator.Play.html