unity call function when animation ends code example
Example 1: unity call function on animation end
// 1. click on the animation state block in the animator and in the inspector
// 2. click Add Behavior button and edit that new script
// 3. find the OnStateExit function and un-comment it. Example below.
// OnStateExit is called when a transition ends and the state machine finishes evaluating this state
override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
{
GameObject self = animator.gameObject; //a reference to the gameobject being animated
MyScript script = self.GetComponent<MyScript>();
Debug.Log("Animation has finished!");
script.SendMessage("MyFunction"); //this is the name of the function to call
}
Example 2: how to create and trigger a function unity animation events
// Animation Event example
// Small example that can be called on each specified frame.
// The code is executed once per animation loop.using UnityEngine;
using System.Collections;public class Example : MonoBehaviour
{
public void PrintEvent()
{
Debug.Log("PrintEvent");
}
}