恐らくだけどisGroundedがfalseになってたら毎フレームmoveDirection.yに重力加速値(恐らくマイナスの値)が足されるようになってるんじゃない?

だからジャンプキーが入ったらmoveDirection.yに正の値が入って上方向に移動し始めるんだけどそこから毎フレーム重力加速値が引かれていってそれが0になった時が放物線の頂点になる。
そしてまた地面についたらisGroundedがtrueになってmoveDirection.yは0になる。

なのでジャンプ中の頂点になったらモーションを切り替えたいなら
if(controller.isGrounded==false&&moveDirection.y<=0){モーション切り替え処理}
とかにしときゃいいんじゃね?