Detect Falling

Hi, I am currently working on a character that is jumping and managed to make the animations play when it is jumping, but the problem is that now I would like to detect when the character is falling so that the animation can change in time.
Is there anyway to detect if it is moving “negatively” on Y or something like that?

Jumping Code:

public Animator Runner_Controller;

	private bool touchingPlatform;
	private Vector3 startPosition;
	
	void Start () {
		GameEventManager.GameStart += GameStart;
		GameEventManager.GameOver += GameOver;
		GameEventManager.GameWin += GameWin;
		startPosition = transform.localPosition;
		gameObject.SetActive(false);
		Runner_Controller.SetBool("Jumping",false);
	}


	void Update () {
		if(Input.GetButtonDown("Jump")){
			if(touchingPlatform){
				rigidbody.AddForce(jumpVelocity, ForceMode.VelocityChange);
				Runner_Controller.SetBool("Jumping",true);
				touchingPlatform = false;
			}

It’s a good idea to raycast down in an ‘IsGrounded()’ function.
Then when IsGrounded() returns false, you can play the falling animation.
Just checking the y-velocity could be misleading if you’re gonna move down slopes.

void LateUpdate{
currentheight = transform.position.y

travel = currentheight - previousheight
//your code
previousheight = currentheight
}
//if you are using rigidbody use lateupdate else if Update if your directly changing transform.position

First off, i don’t use C# so this might be correctly coded, but in theory this idea should work. This is written here and now and isn’t tested at all, just to get you thinking.

    using UnityEngine;
    using System.Collections;
    
    public class MYCLASSNAME : MonoBehaviour {
       velY : Float;
       falling : Boolean;
    
    void  Start (){
       velY = rigidbody.velocity.y;
    }
    
    void  Update (){
       if(velY >= 0){
          falling = true;
    }
       if(velY == 0){
          falling = false;
    }
}