Как сделать анимацию смерти в unity2

Хотел сделать анимацию смерти игрока после того как у него становится 0 хп, но анимация не проигрывается хоть я сделал ее Вот код: Аниматор

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;

public class HeroController : MonoBehaviour
{
    public float speed = 3f;
    public float jumpForce = 5f;
    public float health = 10f;

    private Rigidbody2D rb;
    private Collider2D collision;
    private Animator anim;
    private SpriteRenderer sprite;

    private bool isGrounded = false;
    private bool isGameOvered = false;
    public bool isTrigger = false;

    private bool isRunning;
    private bool isJumping;
    private bool isGameOver;

    void Start()
    {
        rb = GetComponent<Rigidbody2D>();
        anim = GetComponent<Animator>();
        collision = GetComponent<Collider2D>();
        sprite = GetComponent<SpriteRenderer>();
    }
    void Update()
    {
        SwitchAnimation();
        CheckGround();
        if (Input.GetButton("Horizontal"))
        {
            isRunning = true;
            RunLogic();
        }
        else
        {
            isRunning = false;
        }
        if (isGrounded && Input.GetKeyDown(KeyCode.Space) && isTrigger == false)
        {
            isJumping = true;
            JumpLogic();
        }
        if (transform.position.y < -20)
        {
            isGameOver = true;
            GameOver();
        }
        else
        {
            isGameOver = false;
        }
    }

    private void RunLogic()
    {
        Vector3 dir = transform.right * Input.GetAxis("Horizontal");
        transform.position = Vector3.MoveTowards(transform.position, transform.position + dir, speed * Time.deltaTime);

        sprite.flipX = dir.x < 0.0f;
    }

    private void JumpLogic()
    {
        rb.AddForce(transform.up * jumpForce, ForceMode2D.Impulse);
    }
    private void CheckGround()
    {
        Collider2D[] collider = Physics2D.OverlapCircleAll(transform.position, 0.3f);
        isGrounded = collider.Length > 1;

    }
    private void OnTriggerEnter2D(Collider2D collision)
    {
        isTrigger = true;
    }
    private void OnTriggerExit2D(Collider2D collision)
    {
        isTrigger = false;
    }
    private void OnCollisionEnter2D(Collision2D collision)
    {
        isJumping = false;
    }

    public void GameOver()
    {
        if (isGameOvered)
        {
            return;
        }
        SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
    }
    private void SwitchAnimation()
    {
        if(isJumping)
        {
            if (rb.velocity.y > 0)
            {
                anim.SetTrigger("isJump");
            }
            else
            {
                anim.SetTrigger("isFall");
            }
        }
        else if(isRunning)
        {
            anim.SetTrigger("isRun");
        }
        else if(isGameOver)
        {
            anim.SetTrigger("GameOver");
        }
        else
        {
            anim.SetTrigger("isIdle");
        }
    }

}

Ответы (0 шт):