我正在尝试启动一个触发动画的过程,然后等待10秒,进入另一个anim。
我有一个简单的IEnumerator,在两个anim阶段之间,并且在每个阶段之间有一个小的等待。
当我第一次运行脚本时,它确实等待10秒才开始(trapActivate),然后等待10秒才开始(trapInactivate),但是之后的动画只是一个接一个地播放,而没有等待它们应该在anim状态之间等待的10秒。
不知道会有什么问题。我查了很多有问题的人,因为他们在更新函数中启动了自己的程序,但我并不是这样做的,所以我不太确定还会是什么原因造成的。
我已经试过改变等待时间,不管他们在第一次等待之后有多长时间,他们都开始一个接一个地玩。
我能看到他们在动画师里互相跳跃
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class AnimateEveryNTime : MonoBehaviour
{
private Animator animator;
public void Start() {
StartCoroutine(playAnimation());
Debug.Log("Couroutine");
animator = GetComponent<Animator>();
}
public IEnumerator playAnimation() {
yield return new WaitForSeconds(10f);
// Insert your Play Animations here
animator.SetTrigger("trapActivate");
yield return new WaitForSeconds(10f);
animator.SetTrigger("trapInactive");
}
}
这是我的动画师布局的图片:在这里输入图像描述
发布于 2022-11-08 04:23:24
您的图像显示了这两个参数的类型是Bool而不是触发器。有趣的是,SetTrigger
还可以为Bool参数工作,并将其值设置为true。因此,您需要删除它们,并使用触发器和相同的名称创建新的参数。
https://stackoverflow.com/questions/74344148
复制相似问题