How to implement ledge grab and move?

Assassin’s Creed Ledge Annotations(collection of lines):



Tomb Raider Ledge(Edge Markup):

Horizon: Zero Dawn Ledge Annotations:
7568272--936976--Horizon Zero Dawn.png
I saw in the developer talks of Assassin’s Creed/Tomb Raider/Horizon: Zero Dawn that the climbing systems of these games all use a collection of lines placed on the edge (they are called mark up/Annotations) for climbing detection. Someone has participated in similar projects Development?
I would like to know:

In the same way that motion while on a ladder is constrained, motion while hanging from a ledge can be constrained.

Steps to success:

  • have code to identify when the player “latches” to the ladder / ledge / pole / narrow beam (collision, trigger, coordinate check, whatever)

  • while the player is latched, their primary movement is disabled and a special move controller takes over (only allows appropriate motion with special hand-over-hand animations)

  • accept input and move the player along the constrained object appropriately

  • when the termination condition is reached, disable the special controller and revert to the default player controller

If you want ideas about implementing a linearly-constrained motion in a true 3D environment, feel free to look through my 2.5D level mover. It’s the same exact idea, except it ONLY has that motion mode 100% of the time.

This is very advanced and long topic, it is impossible to properly discussed in a forum post. But luckily SharpAccent developed a (actually two if you look for it) series about it. So I will just leave it here. :smile:

https://www.youtube.com/watch?v=k8kZ3-K8gcs

2 Likes