Hello All, as you may know: the base character controller is very floaty and gives the player a lot of control. However, I’d like to produce a different jumping system.
What would be the best way to achieve a fixed arcing jump on my Side scroller character? I tried playing around with setting velocity, but it is very finicky and doesn’t work well.
The jumping arc needs to be fixed an reliable and not offer the player any control. It needs to leap a fixed distance at a fixed height and account for jumping off edges and into walls without bugging out.
Anyone have any suggestions? Cheers.
First you can turn the Air Control values on the Character down to 0. This should make it so they can’t change direction or speed horizontally unless their feet are on the ground.
However, the arc of the jump will still be determined by the character’s horizontal speed at the moment they jump.To solve this you may set the velocity to a specific value right after the character jumps/leaves the ground (there should be an Event for that already in the character blueprint). Make it the same amount, just multiply by -1 if it’s going left instead of right. You can base the left or right-ness on one of several things:
- character sprite facing direction.
- character velocity being + or - on one axis.
- Most recent non-zero input axis being positive or negative (may have to store that from your Input Axis Event ).
I haven’t tried these things but that’s how I would try it at first.
Hello. I gave that a go when I was playing around with the velocity options. Unfortunately it was very inconsistent and often didn’t work properly. However, the most success I have had is when the player jumps, it forces them to move in the direction they are facing, disabling input until they land. Seems to have good results, and programming wise is very clean and minimalistic. So I think I am going to roll with that.
Thank you though!