给默认状态添加一个脚本FSMCleaSignals(用于清除多余的Trigger)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class FSMCleaSignals : StateMachineBehaviour
{
///
/// 脚本进入时要被关闭的动画
///
public string[] ckearAtEnter;
///
/// 脚本关闭时要被关闭的动画
///
public string[] ckearAtExit;
// OnStateEnter is called when a transition starts and the state machine starts to evaluate this state
override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
{
foreach (var signal in ckearAtEnter)
{
animator.ResetTrigger(signal);//清除掉多余的Trigger
}
}
override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
{
foreach (var signal in ckearAtEnter)
{
animator.ResetTrigger(signal);
}
}
}