"Process Root Motion" while playing?

My AnimBP takes “Root Motion from Everything”

The jump animation has “Root Motion Enabled”

In viewport, when I do:

Show/Process Root Motion

the animation plays correctly (Whether “Root Motion Enabled” is active or not).

What can I do?

Hello.

I think you’ve downloaded one of the mixamo animation for using in UE4.

first I must say mixamo animations which move in Z axis are not completely compatible with UE4 because their root bone only move in X and Y not Z so when you enable root motion there is noting to be followed as root and your character wont move up and down.(you can visualize bones to understand it better like below)

to deal with those mixamo animations which move along Z axis there are two ways( as far as I know)

1- for some animations like that jump which I saw in that video you can use UE4’s jump function and disable root motion so your character mesh will follow the capsule component not root bone.

2- you can download mixamo animation only as FBX not for using anywhere and then edit them in another modeling program like Maya ( so you must first add a root bone to them then copy all movements from pelvis to root bone)

here is a tutorial for it [][2]

ask me more if you need :))

It is not a mixamo animation however the root does leave the ground during the jump. This is why “Process Root Motion” works in viewport but when root motion is enabled I’m still not sure why it is not following the root bone? It is s problem with how UE4 applies root motion to the jump because it forces the now vertically moved root motion to the ground. How this is any different from process root motion idk but it is odd

All other root motion works with root motion enabled and process root motion in viewport.

so you must not use jump function then.

when your animation and root motion are responsible to move up and down then no need to call jump function

and you must then change your character movement mode to flying

when root motion wants to move up and down like jumping you must change movement mode of his movement component to flying mode

and then change it to walking mode again after animation finishes using an animation notify or something else

Do I use “Set Movement Mode” node?

Or is there another way in which I can simply press spacebar and not have to think about releasing spacebar (I can either hold spacebar or simply tap it)?

I want my animation to finish playing without being interrupted by Fly “Mode” turning off when using “Set Movement Mode” node.

Any solution?

It’s the same thing as if I was using Jump node to control z-axis vertical distance.

I did not get you.

your animation has a limited and fixed duration and it is not possible to hold spacebar to stay in the air for a longer time.

after you press spacebar you must first set movement mode to fly and then play jump animation and then you have to determine when animation is gonna finish playing to set movement mode to walking at that time.

i think the best way is using an animation notify

no need to do any thing when releasing spacebar.
use an animation notify to set movement mode to walking again.

111986-xx.jpg

It makes my character stop for a second no matter when I change to “walking” mode. Basically even if the foot placements are perfect, it will stutter (wait some time) before going to locomotion. I don’t like to use notifies anyway because I have way too many animations to run through.
It will actually crash UE4 every time too!

notifies are not crash prone.
your character stops because his velocity gets zero at the end of jumping animation. because that is an inplace jump not running jump.

are you using play animation node? if so do not do that. implement jump in anim graph use time remaining ratio as transition rule.it will reduce that stop time.

you must use a series of animations to have a high quality jump while running (jump start, jump loop ,jump end) with jump function like third person template

Is there a way to disable z-axis movement of the root, in the hierarchy, the root bone, besides going into the animation program…i.e. through UE4?

you need a modeling program. I do this kinda things in Maya.