Наложение анимации поверх статичного спрайта персонажа в Unity

Сделал анимацию в Unity через Animator и, вместо смены спрайта персонажа, поверх него добавляется анимация.

введите сюда описание изображения

Вроде код прописал правильно. Кто знает где ошибка?

using System.Collections;
using UnityEngine;
using System;

public class Character : MonoBehaviour
{
[SerializeField]
private float speed = 3f;
[SerializeField]
private float JumpForce = 10f;

private bool IsGrounded = false;


new private Rigidbody2D rigidbody;
private SpriteRenderer sprite;


private void Awake()
{
    animator = GetComponent<Animator>();
    rigidbody = GetComponent<Rigidbody2D>();
    sprite = GetComponentInChildren<SpriteRenderer>();
}


public Animator animator;
public enum CharState
{
    Idle,
    Run,
    Jump
}
private CharState state
{
    get { return (CharState)animator.GetInteger("State"); }
    set { animator.SetInteger("State", (int)value); }
}

private void Update()

{
    state = CharState.Idle;

    if (Input.GetButton("Horizontal")) Run();
    if (IsGrounded && Input.GetButtonDown("Jump")) Jump();
}
private void FixedUpdate()
{
    CheckGrounded();
}
private void Run()
{
    Vector3 direction = transform.right * 
Input.GetAxis("Horizontal");
    transform.position = Vector3.MoveTowards(transform.position, 
transform.position + direction, speed * Time.deltaTime);
    state = CharState.Run;
    sprite.flipX = direction.x < 0f;

}
private void Jump()
{
    rigidbody.AddForce(transform.up * JumpForce, 
ForceMode2D.Impulse);
    state = CharState.Jump;
}
private void CheckGrounded()
{
    Collider2D[] colliders = 
Physics2D.OverlapCircleAll(transform.position, 0.1f);
    IsGrounded = colliders.Length > 1;
}

}

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