Check if animation ended Unity code example
Example 1: condition when a animation finishes in unity
if(anim.GetCurrentAnimatorStateInfo(0).normalizedTime > 1){ //If normalizedTime is 0 to 1 means animation is playing, if greater than 1 means finished
Debug.Log("not playing");
}
else{
Debug.Log("playing");
}
Example 2: unity animator check if animation is playing
bool isPlaying(Animator anim, string stateName)
{
if (anim.GetCurrentAnimatorStateInfo(animLayer).IsName(stateName) &&
anim.GetCurrentAnimatorStateInfo(animLayer).normalizedTime < 1.0f)
return true;
else
return false;
}
Example 3: unity detect if animation is playing
if(this.GetComponent<Animator>().GetCurrentAnimatorStateInfo(0).normalizedTime >= 1)
{
//Do something when animator isn't playing
{