Ledge Climbing Mechanics help

I’m having a bit of trouble attempting to make a ledge climbing system similar to any old Assassins Creed game. I’m not asking for direct code, instead ideas that could work if possible.

My desired result is something similar to this:

–Credit to Wj1z

So far all I have is a .Heartbeat that raycasts from the players head when they jump and fires a function when a ledge is found.

There’s a few issues that i’m having trouble figuring out:

  • Initial Attach(position character and player idle ledge hold animation)
  • Movement(move player in increments, based off the key pressed)
  • Orientation(moving the player around the wall which i plan on using unioned ledges to make it less confusing)
  • Limit Movement(Basically when the player reaches the end of the ledge they don’t fall off or ‘float’)

My current idea is making a so called “Hanging” state(a bit of a crude name), where basically i set humanoid to platformstanding, Zero the HumanoidRootPart Velocity, and then maybe use a bodymover or constraint to move sed player.

I was thinking of moving an attachment and using alignPos/Orientation to move but then the issue comes when i have to move along a curved wall, or 90 degree turn, which i have no idea how to do…

Again, I’m not asking for help with all of it, just bits and pieces if you can spare ideas, sources, etc.

2 Likes

Did you ever figure out how to go along a curved wall or harsh turns? I too am having a problem with figuring that out.

Edit: it finally came to me. I thought of one possible solution.

In workspace have a folder named Ledges, take all the parts into one table and then generate points which represent the positions the player can go through.
Fire a raycast from player head and if it touches one of those ledges go to the nearest point

When player clicks a/d go along the path of generated points.
If player clicks w/s find the nearest point above/below and if any are found move the character to it.

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.