When Unity uses Spine to switch animations, it will automatically add fusion. At this time, the animation will produce a transition effect. If you want to switch directly, just press the figure below.
Set Default Mix Duration to 0
public void Awake()
{
skeletonAnimation = transform.Find("SkeletonAnimation").GetComponent<SkeletonAnimation>();
var animationState = skeletonAnimation.AnimationState;
animationState.Complete += OnSpineAnimationComplete;//动作完成后的回调
}
public void Run(Action __Callback)
{
Callback = __Callback;
//切换动作
skeletonAnimation.AnimationState.SetAnimation(0, "break", false);
}
private void OnSpineAnimationComplete(TrackEntry trackEntry)
{
if(trackEntry.Animation.Name == "break")//break事件名
{
Callback();
}
}