我是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 () {
}
}
答案 0 :(得分:2)
您可以尝试使用Animator并播放动画的名称(出现在动画器中)。
代码如下:
myAnimation = GetComponent<Animator>();
myAnimation.Play(attack.name);
参考:https://docs.unity3d.com/ScriptReference/Animator.Play.html