Advanced Climbing System

Sorry for the late response, new forum made my subscriptions wacky. Yes, I’m finally in the process of mirroring the animations.

@Aumaan Anubis
Thanks for the heads up! Looking very much forward to it!

I was just curious on the progress, everyone is jumpy because it looks great! Can’t wait, but guess I will have to a little anyway.

Just found this thread; congrats on the work, it looks fantastic! I am also working on a climbing system, not for the marketplace, just for my own game. I’m curious about one thing: in your polished demo level with the hooded character running around the brick buildings, did you have to use separate objects for any climbable ledges, windows, etc.? Or were they all part of ONE static mesh building, with** the entire building as a whole **(including ledges, pipes, windows, etc) recognizing your custom trace channel? I’m also wondering if it’s possible to purchase this system in its present form without the animations, as I would probably have to replace the animations anyway. My character, though anthropomorphic, uses some proportions that would not likely retarget very well. Thanks!

Hey guys, been following this thread when I was looking for material on advanced climbing systems. I managed to build a system almost similar to this, but still needs a lot of work. This is for my personal game that’s under development. Also, been waiting for this to hit the Marketplace, but there hasn’t been an update in a long time, so If people are interested, I could try and put my version on the Marketplace with the UE4 Mannequin

Hey, really nice work, Abeysaurus! Getting the character to automatically align to the angle of the surface is something I’d like to know how to achieve, nice job with getting that to work! Going a step further and being able to move up/down along edges that are angles would be even more flexible, but for that, I know you would need IK targeting for the hands. Have you used a input switching system so the character can move in any direction the control stick is pressed, regardless of camera orientation? This was the setup I used here.

Hey thanks! At the moment, I only have him moving along straight ledges, and the hands do have IK targeting right now, I haven’t looked into angled ledges just yet either. I am currently working on getting the backward jump, upward jump and corner turning working. I should probably get the input to work based on camera angle and not player orientation.

I had a look at your solution for the input switching. I’ll have to try and see how it works with my ledge movement system. I have a lot of the logic and tracing done completely different to the videos up on YouTube.

With the alignment on curved surfaces, I have two traces pointing towards the wall from his shoulders. And I calculate the yaw at the center point. Also this can displace your character away from the wall… so u need to update the characters location as well

https://twitter.com/abeysaurus/status/962716754698014721

Thanks for sharing your insights! That looks like a great solution. Do you use Set Rotation on the capsule with a timeline or Lerp or Move Component To?

-Adam

Ah I’m using RInterpTo for the rotation and VInterpTo for the location

Thanks for your reply. It’s been a while since I’ve opened my project as I’ve been working on a non-UE4 project since before Christmas, but I’ll have to try that out once I resume. If you’re willing to share, I’d be curious to know how you go about averaging the hit results of the two shoulder traces to determine the character’s yaw. If not, that’s fine too; I know we game developers like to have some “trade secrets”… :rolleyes:

subtract the 2 impact points and divide it by 2… then find look at rotation with that point as the target

Sounds great; thank you for sharing that tip!

-Adam

No worries! Do you have any tips on trying to get the character to make 90 degree turns? I also just discovered i accidentally got the character moving on an angled ledge working. That was on the list to do, but fixed itself when I added in the curved surface logic.

Sounds awesome! You’re already a step ahead having implemented angled and curved surface movement, but if your current system doesn’t allow 90 degree turns that easily, you might want to try using root motion for the turn (as demonstrated in this video by Medel Design). I know Jonas Molgaard also had some interesting videos on ledge climbing, but I think you have already achieved most of it by successfully aligning the character to the climbing surface.

Ah right, Root motion… I’m trying to avoid root motion altogether. I feel it does hinder the movement and kills a bit of player-input connection. So far, i’ve been using animation notifies to trigger launches to displace the character. I have a system for the 90 degree turn in mind, using directional tracers again, I’ll give it a shot. This system that Bugmee built looks like it’s not using root motion either. But let me see what I can pull off

I didn’t look through all the posts in this thread, but I know Bugmee started out using Mixamo animations. I believe those do use root motion. I’m using root motion for the climb up animation in my system and it works fine, however I have not implemented corner-turning yet. Basically, if you need a really custom-type of transition over 90 degrees (such as pause, re-position hands, etc) instead of just looping the standard ledge movement with IK hand targeting, root motion would be the easiest solution because you could time the move exactly. Looking forward to seeing what you come up with! :cool:

I think he’s using root motion for the climb up animations as well. But not entirely sure if he’s using it for the corner turns. Having said that, I managed to get inside corners working without any root animation. Here’s a tip, use custom curves in your animation clip to drive rotation in blueprints… I prefer doing that instead of Root motion. I still have some IK snapping issues with my hands, and now I know ive done the hand IKs the wrong way. I’ve figured out how to do it properly, and will probably fix it much later… it’ll have to do for now :slight_smile:

Now I need to get outer corners working. Might need some extra input since atm, holding the sideways movement on the edge of a corner prompts the player to do a side jump.

Excellent work! Thanks for sharing your progress on this. :slight_smile:

Update on the climb system. I have outer corner turning working smoothly.

Looks absolutely fantastic! This is without root motion?