Root motion for Locomotion?

Greetings,…

I’m setting up an (Uncharted style) 3rd person character controller for a single player story driven game, using the Kubold Pro Animation pack available on the marketplace.

I’m trying to use Root motion for Locomotion, problem is while a root animation is playing I can’t change the direction of movement using the Add Movement Input node.

I tried using root motion from everything, playing direct animation from a state machine, and also tried using Anim Montages, both lead to the same problem.

currently when I press forward the character transitions from Idle to Start_Walking animation to Walk_Loop, and finally Stop_Walking when I let go of the forward input, and everything is transitioning very well.

Only problem is I need to somehow add a rotation offset to the root motion so I can look around with the mouse and the character would change walking direction accordingly, is there a way to do something like that?

I already have a working setup using blendspaces, but I thought Icould use root motion to eliminate foot sliding especially in complex animations like for example Changing Run Direction 180 degrees.

Is this the right way to go?or should I get back to blendspaces and keep root motion for one shot animations only?
Best Regards.

Hello,

If you’d like to use root motion for everything, can you hook up turn animation to rotate root?

Currently we only support root translation/rotation together.

Thanks,

–Lina,

Hi Hany,

I’m not sure why steering is not working in your case, as this is something we’re doing on Fortnite.
You may have to put a breakpoint and investigate what’s going on.

In ::PerformMovement() we disable rotation updates, but only for DesiredRotation, which is a code path that AI takes, not the player.

The player goes through:
PlayerTick → UpdateRotation → FaceRotation

So somewhere in there something might get trapped.

Hope that helps!

Laurent

Hey Hany,

I believe in 4.6 root motion animations can be blended in blendspaces. Ive seen the animations from Kubolds animpack, and there are turning animations driven by root motion there. If the reference bone rotates with the animation then there shouldnt be too much of a problem. If you have pictures of your blueprints it might help people help you.

I tried to blend in the turning animations, and this seems to work, now I have to figure out how to apply those turning animations and link them to user input, I think I’ll need to make a lot of changes to my animation and character blueprints, I’ll post an update when I get it working properly.
Thanks.

I also have his animation pack, and using blendspace for locomotion and rotation, but when I set root motion from everything, my character no longer has locomotion, but the rotation still works. How did you get the locomotion movements to work with “Root motion from everything”?

Thanks

Did you enable root motion on all locomotion animation assets? (select all animation files → asset actions → property Matrix → root motion → check “enable root motion”)

Also when you enable “root motion from everything” you can no longer use the “Apply speed” node in your character blueprint, because now the animation is driving your characters’ speed. Instead you need to listen for player input and use that to drive your Animation states and Blendspaces in the animation blueprint.

Hello I know this is an old question but I wanted to ask you if you managed to find a proper way to solve this issue, maybe you can share some of your blueprints? thanks!

Hello Hany,

As you said "Also when you enable “root motion from everything” you can no longer use the “Apply speed” node in your character blueprint, because now the animation is driving your characters’ speed. Instead you need to listen for player input and use that to drive your Animation states and Blendspaces in the animation blueprint. "

can you please give an example how to use it?

Because I’m stuck in it badly and don’t know how to move my character besides Speed variable.

Please Help me!!!