Better jump set up - Capsule lands before Jump animation ends

So I have a character in a 2D side scroller that when he jumps up - he spreads his legs in a goofy way like a cheerleader…- upon landing though…the capsule lands basically while his legs are still in the air - and then the landing animation plays…

Is there a way to line these things up - I don’t have root motion on these - should I do it with root motion? -

  • If I use a root motion for the jump - do ALL animations have to be in root motion? including running and crouching?

AFAIK root motion can be set indepedantly however this is, in my opinion, an animation issue.

You cna do a few things for an “easy” fix.

  1. Speed up the animation
  2. Change gravity
  3. Raise the capsule component only

Although re-reading your question it sounds like it moves up with no animation then when it lands the animation finally plays? This would be an issue in your animBP going from whateverState → Transition → Start jump → Transiton → inAir → Transition ->end jump

You are using 3 animations for jumping right? I highly suggest looking at the stock animBP from the 1p/3p templates and duplicating that.

Also the isInAir node might help, youll need good communication between your character and animBP, my preferred way is simply to GetPlayerCharacter → CastTo(yourcharacterbpname) → promote to var at the start of your animbp before anything else and then take variables off and assign them to variables in your animBP.

You could also get away with a macro library to help possibly.

Although, is this pure2D with paper2D? I have no experiance with that. Unity still takes the cake for 2D IMO.

Hope this helps
Don’t forget to accept an answer that best clears your question up or answers it so when the community finds your question in the future via search/google they know exactly what you did to fix it/get it going.

So I do have a setup similar to the anim bp with the “in air” and the time remaining ratio…

It’s that when I hit the jump button…the capsule is already in the air…
so the actual “jump” part of it is over so quickly…and heads into the falling “idle” animation…and as soon as he lands…it seems like he goes through the landing animation really quickly…I’ve been tweeking the “time remaining ratio” a bit…how I ended up working with it for the “Jump” part was I

did was - upon pressing the jump button - the bool “is in air” is activated then do a .2 sec delay until the “capsule” jump is active - so the bool is what controls the start of the jump -

but I can’t figure out how to do the landing now…
Note the capsule lands while he’s still in the falling anim…and then once the capsule lands he does the landing anim…basically it feels like the anim is trying to catch up to the capsule

But yeah it’s 3D sidescroller sorry