我尝试使用MecAnim在Unity中的角色上播放一次动画。我真的不熟悉这些,所以我可能完全错了。
基础层包含许多步行内容,但我尝试触发的动画位于具有空默认状态的单独Right Arm
图层上。 Wave
转换已应用Default -> Wave
触发器,Wave -> Default
转换已定时退出。
然后我有一个脚本(当调试时)按下“O' O'并使角色挥动一次。
if (Input.GetKey(KeyCode.O))
{
AnimatorStateInfo currentState = this.animator.GetCurrentAnimatorStateInfo(1);
if (currentState.IsName("Right Arm.Default"))
{
Debug.Log("Waving triggered");
this.animator.SetTrigger("Wave");
}
}
动画按预期播放,但控制台显示IsName
检查总是传递为真,这让我觉得我做错了。
转换需要几分之一秒才能完成,之后如果再次调用SetTrigger
方法,动画将播放两次。
我正在寻找一种简单的方法来确保只有在此图层的状态完全恢复为默认值时才设置触发器。