[높이 축 가속도 방향]
velocityY = 1 * Mathf.Sign(rigidbody.velocity.y)
[땅에 닿는지 여부]
(Update Loop)
isGrounded = Physics2D.OverlapCircle or Physics.OverlapSphere
[점프 코드]
땅에서 점프키 누를시 (isGrounded && KeyDown)
rigidbody.AddForce(Vector.up(점프 축) * jumpForce(점프 파워), ForceMode.Impulse);
[애니메이션] 점프 중
"Idle" -> "Jump"
[트랜지션]
velocityY > 0
isGrounded = false
[애니메이션] 떨어지는 중
"Jump" -> "Land"
[트랜지션]
velocityY < 0
isGrounded = false
[애니메이션] 떨어지다 땅에 닿는
"Land" -> "idle"
[트랜지션]
isGrounded = true
[애니메이션] 점프 없이 떨어지는 경우
"Idle" -> "land"
[트랜지션]
velocityY < 0
isGrounded = false