Yeah this is without any root motion. I’m calculating a curve between the start point of the edge and end point of the corner turn. And it works for any angled corner. I re-did my inner corner turning to use the dynamic curve method to move the character around. It works without any glitches now.
Thanks for sharing. That sounds amazing. I take it you’re not using a mathematical formula to plot a curve between two points, but rather RinterpTo / VinterpTo between the two points as coordinates and a curve asset to affect the Interp Speed?
Yeah, I’m not using any funky math equations to get the curve. I’m spawning a temporary spline and setting the position of the 2 spline points. Also calculating the tangents of the points based on the normal of the walls. Then I move the character along that spline (and play a custom animation) using a timeline. And once the turn has been completed, I destroy the spline.
Wow, that’s a pretty unique solution. Sounds very cool… thanks for sharing.
Just thought I’d share progress on this. I started translating the Climbing system I have for the game for the Marketplace. That means I have to do custom animations for all these actions. Here’s an early WIP
Nice job Abeysaurus! Perhaps you could just use placeholder animations or “stills” in the release with video instructions on how to substitute them with Mixamo or similar animations? For some people (as in my case), the rig they’re using may not be retargetable to the UE4 Mannequin, so custom animations for their specific rig would be needed anyway. Also, unless the end product is for sure only going to be a stylized character, it may be time-consuming to match the realism of mocap animations that may be available. Of course, that all depends on how comprehensive you want the Marketplace pack to be. I’m personally more interested in the (excessively commented!) Blueprint tech behind climb systems.
One thing that you may want to implement (which I was adding into my own system) is the ability to detect and grab ledges that are directly above each other. In other words, if you had a stack of cubes (with space between each) and the character jumped beside it, he would be able to grab the ledge that was nearest the peak of his jump. When falling off the stack, he would be able to detect and grab each descending ledge each time he lets go. I believe I used a multi-sphere trace by channel sweeping down for this. This is not strictly necessary, but for tower-like edifices with multiple window openings that you could only reach by dropping down from window to window it would be useful.
Ive already done the animations for the system, just 2 more left to compete it. And it’s a requirement to go up on the marketplace that all character animation has to be on the default mannequin rig (or same naming and hierarchy). Also the animations I’m including are not very detailed, more to just compliment the climbing system. I’m pretty much selling the logic of the climb system.
And funny u mentioned the multi trace. I just added that in yesterday
how is this deferent to the other climbing pack that is on the market place?
The biggest difference in this system is I’m not using any root motion animations. So all the jump distances are not limited by the root motion displacement. For instance, jumping sideways from ledge to ledge, you’ll always land at the beginning of the next ledge, regardless of how far apart they are (of course you can set the max reachable distance for each directional jump).
Also the corner turning is done dynamically, so even if a corner is not at a right angle, it will adjust itself to move the character around the corner smoothly.
You are talking about the Ledge Climb pack yeah?
I can only say wow. it looks amazing.
Okay… that’s strange, I posted this earlier this morning and for some reason it never went through, just got saved as a draft?? Anyway, here it is again. Apologies if you received this twice!
Very, very nice… One thing I was having trouble implementing into my system was a way to detect when if the character was stepping off a ledge slowly enough, he would turn back and grab it (this functionality was in Super Mario Sunshine). I had it partially working, but I think there needs to be more logic so if there is another ledge close enough in FRONT of the character, he would ignore the ledge behind him and just grab the front one.
Now that really does sound like an excellent system in terms of flexibility. Sideways jumps with root motion is an especially limiting factor for level design, as one would basically have to make 2 versions of side jumps, one for short distances and one for max distances, with all ledges falling within those values! So this superior method of yours sounds great. Will you be heavily commenting all the logic in the BPs so one can thoroughly learn the system and adapt it to their needs? I find coloring comment boxes also helps tremendously to separate important sections. Thanks for your effort. I’d be curious to know your price point for this system too.
So you want your character to automatically turn around and grab the ledge only when he’s walking at a certain speed? There is an event called “OnMovementModeChanged” which you can check the previous movement mode and new movement mode… simply do an enum check and check when ur velocity is below the cap you need, and then you can call your “turn and grab” event. I’m using that method, but my condition for grabbing the ledge is if you hold Ctrl and run off the ledge, he turns and grabs it. Hope that helps.
Yeah, I will be commenting and color coding all the blueprints (I think this is the longest step haha) Also Epic requires a fair bit of documentation for all submissions, so I’ll try and be detailed on that as well. With the price point, I was thinking of including the animations as well and charging a premium for the whole pack, but the animations aren’t really polished, so I’m just including it as an asset for the system. To be honest, I’m not entirely sure how much to charge for it (and I’m pretty nervous about it haha), I was thinking about $50-60 and I’ll be updating it with newer mechanics as I keep completing them in my game… like wall running, sliding, vaulting, ladders and vines.
So this is the current state of the climb system. I have slightly better hand IKs set up. Still a bit of clean up left.
Thanks for that helpful tip! It’s been a few months since I’ve opened my project, but I will look into what you have suggested.
Glad you will be adding ample comments… don’t forget those reroute nodes too, to avoid spaghetti. Sometimes Epic’s own projects suffer a bit from noodles, so reroutes are a great way to keep things tidy. Can’t say I’m a fan of too many collapsed graphs though… they have their place, but sometimes can break up the flow, making figuring out the logic difficult.
As far as price, you should charge whatever you feel the system is worth, bounded by the current features of the system. You can always charge more later as more features are added, or you can release it as 3 separate packs: ie. Climb/Jump pack, Parkour Pack (Wall Running, Sliding, Vaulting), and Ladder/Vine Pack. Not sure about the practicality of end users merging 3 packs together, unless you cleverly constructed the Blueprint system to be incredibly modular, (and added instructions for merging), but you could always re-release it 3 times as a paid-for update (ie. remove the old marketplace asset, and upload the expanded version). This way you can keep the price-point lower and people who want/need the full system can pay ~$30 for each upgrade as they become available. I once purchased a $100 asset pack from the marketplace, which given the sheer quantity and detail, was totally worth it. Admittedly though, the price felt a bit steep especially when I couldn’t test out sample assets in my project, however, I made the purchase anyway. I was a little miffed to see it go on sale for 50% off two months later, though.
Looks really great! Is it possible to add a bit of delay or more blending into the hand placement so the IK doesn’t snap so quickly and feels more natural?
Haha yeah, I think those example maps and codes were much before the re-route node was even a thing in the engine.
Yeah I don’t want to go as steep as $100 for this. I think I’ll just keep it at $60 and keep rolling out updates. I don’t want to release multiple versions of the system, that will just over-complicate things for people trying to integrate the system in their projects. I guess unless I do a completely new system, I’d have to release it as a new product. Anyways, I have to clean up the IK logic now and start doing the boring stuff… documentation!
Ah, that makes sense. So some UE4 developer figured a reroute node should exist as all the other Epic devs kept attacking their screens with forks and parmesan cheese.
Sure, whatever will work best for you. Looking forward to seeing your progress on the IK.
The climb system v1.0 is on the marketplace now. I have already got an update for it with newer features lol
Looks really good, Abeysaurus! Just a question regarding some visual hand intersections while moving along a ledge: is that due to the animation file itself (with the hands periodically dropping below the ledge line) or is that due to the IK snapping system? Thanks!
Ah that’s just the animation clip. The current IK setup on V1.0 is just temporary. I’ve updated the whole IK system to work more smoothly (will be in the next iteration)