Journal 82 — Unity 2.5D Platformer, Implement the Climb Up

Objective: Go from a hanging ledge to climb up off the ledge.

In the previous journal, we completed the hanging ledge function of our platformer. In this journal, we will finish the game sequence by climbing up from the ledge and standing up, ready to continue.

Let’s add a climb up animation from Mixamo.

We can import this animation into Unity, set to “Humanoid”, and duplicate the animation so it is editable.

When grabbing the ledge, we also want to turn off speed and jumping, so the player cannot inadvertently transition to another state.

Fix Climb Up

We need to fix the climb up implementation. The player game object is still hanging from the ledge. An animation of the player climbing up played, but that does not affect the player’s location. We want to capture the location of the climb up position and essentially teleport the player to that spot, and show the idle animation.

In the Animator window, we can add a behaviour to the Climbing animation.

In the animation behaviour script, we can remove the comment marks for OnStateExit, and we need to reference the Player class in order to play the idle animation after the climbing animation.

We can add code so that pressing the ‘e’ key will trigger the climb up animation.

Let’s make a duplicate player to figure out the position to stand up after climbing the ledge.

Now we need to update the ledge script to have a reference to the correct standing position.

In the climb up animation behaviour script, we can get a reference to the animator which is on a child of the player, and call a new method after the climb up animation is complete.

In the player script, we can make the ledge grab modular with a reference to the current ledge, such as if we use the same code at a different ledge. We can also fill out the method we created after climbing up by fixing the player’s position to the correct standing position, and re-enable the character controller.

Finally we can see the results.

Thank you for your time!

--

--

--

An Engineering Manager consultant who is seeking additional skills using Unity 3D for game and application development.

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Securing My Digital Life: GPG, Yubikey, & SSH on macOS

Test Automation with Cypress, CircleCI, and Mochawesome

Azure Event Hubs로 kafka message 전송 처리

Managed Services: Less BS, More Software

Apa itu Big O Notation

Creating an API endpoint in Meteor/Vulcan

Git installation on Ubuntu

Flutter at OY! Indonesia: Key Differences in Flutter vs Native Development

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Chris Nielsen

Chris Nielsen

An Engineering Manager consultant who is seeking additional skills using Unity 3D for game and application development.

More from Medium

Journal 145 — Unity Project Development, 2.5D Shooter

A Series On Creating Immersive Audio in Unity with Custom Wwise Scripts

2D Light Flicker in Unity

2.5D Platformer — Improving the Ledge Grab #10