Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Finish Player Animation | Unity Animation System
Fighting Game in Unity
course content

Course Content

Fighting Game in Unity

Fighting Game in Unity

1. Unity Animation System
2. Player Behavior
3. Enemy Behavior
4. Improve the Game
5. Improve the Flappy Bird Game

bookFinish Player Animation

Jump Animation

For the jump, we will have two animations: Since the player will jump and then fall, we need to create two animations for that. The transition between them will be based on the player's "y velocity"; if y is positive, he is jumping, and if y is negative, he is falling. We can obtain the y velocity from the Rigidbody2D component attached to the player.

This code assigns the value for the transition parameter between the jump and the fall.

Code Explanation

This line checks if the Space key is pressed (Input.GetKeyDown(KeyCode.Space)), the player is on the ground (isGrounded), and the player is not currently attacking (animator.GetBool("isAttacking") == false). If all conditions are met, the following block of code will execute.

This line adds an upward force to the Rigidbody (rb) component attached to the player, simulating a jump. The force applied is in the upward direction (Vector2.up) with magnitude defined by jumpForce, and it is applied impulsively (ForceMode2D.Impulse).

This line sets a boolean parameter "isJumping" in the Animator component to true, triggering the Jumping animation.

This line checks if the player is currently jumping (animator.GetBool("isJumping") == true), the player's vertical velocity is negative (rb.velocity.y < 0), and the player is on the ground (isGrounded). If all conditions are met, the following block of code will execute.

This line sets the boolean parameter "isJumping" in the Animator component to false, indicating that the player has finished jumping and falling and will change its animation to idle.

This line casts a ray downwards from the position of the player's feet (playerFeet.position) to detect if the player is grounded. It returns true if the ray intersects with any collider in the ground layer within a distance of 0.1 units, updating the isGrounded variable accordingly.

What does a `raycast` represent in Unity?

What does a raycast represent in Unity?

Select the correct answer

Everything was clear?

How can we improve it?

Thanks for your feedback!

Section 1. Chapter 6
some-alt