Root motion - could someone please answer some questions for me?

Hi all,

I’m a little confused about root motion. I’m trying to create a slide action for my character - I have a slide animation where the character moves in the animation. It’s from Mixamo so I take this to understand that this animation features root motion, which means it cannot be blended with any other animations, it can only be played or used in a montage.

Is that a problem in this scenario? Do I need a slide animation which doesn’t include root motion? I’ve successfully imported the animation using the UE4 skeleton and I can get the animation to play using root motion, but it doesn’t look correct at all. I’m guessing I would need to manually adjust the animation and remove the root motion if I did indeed need to blend it. I’m just not sure if I do.

Could I get away with just playing the animation when the player presses a button? I’m quite unfamiliar with how all of this works.

Thanks!

Do you want to use root motion or not?
The thing with mixamo is that even if its state that the animation uses root motion, their skeleton isnt suited for root motion. Thats because it hasnt got an actual 0,0,0 root bone. The mixamo skeleton root bone is the hips. Therefore any animation where you enable root motion with this will look wired since the root bone motion gets used to translate and rotate the movement component of the character around. In animations the hip bone generally rotates around so your whole character would rotate wiredly.
But anim blueprints have a clever option that lets you turn off root motion completely. SO you can use clips that have the root bone moving, but it will simply negate those. Now I havent actually tried to see what happens if you do that to a mixamo skeleton root bone which is a hip. I would imagine the slide wouldnt change the characters height and it would float since its not involving the z translation of the root bone (hip). Thats where you might have to edit the animation in your 3d software.

Btw. heres a UE4 doc on root motion you should read… Lots of cool knowledge in it. Root Motion | Unreal Engine Documentation

Hey Adeptus,

Thank you for the reply. When you say - do you want to use root motion or not? - I think that’s my question. I read through that document multiple times, so I understand the concept of what root motion is I just don’t understand why I would want to / need to use it outside of animation blending.

So if I want to blend my run cycle with a slide animation then yes I’d want to use root motion, if I don’t care then I wouldn’t need to use it, correct? I guess I’m just trying to figure out whether I can get away with just playing these animations as they are or whether I actually need root motion in the scenario I’m describing (allowing the character to run and then slide).

Sorry for asking this question so strangely, I’m just having a difficult time understanding why / when this feature needs to be used outside of blending a run cycle with aim offsets or jumping or something like that. Thanks for the help. I will check out that option in the anim blueprints when I get home.

Well root motion generally allows to use the exact recorded mocap where the actor moves exactly how he needs to move for the feet to not slide on the floor, even when accelerating or decelerating. But in a nutshell, thats pretty much the biggest and (in my experience - please correct me if im wrong) only benefit you get from root motion. On the down side however its pretty tedious to set up and requires a lot of animations for the character to have a versatile movement library.

If you are a beginner I would suggest leave root motion out of the equation for now… You can still achieve very cool results without it by adjusting acceleration and deceleration values to match your start and stop moving animations.
Also just to clarify: by sliding you mean when the character is running and then goes to the ground to slide on it as if trying to enter into a closing garage door Indiana Jones style? If thats what you mean then its better not to use root motion anyway as it will dictate the slide speed unless you have versions of different speeds and durations.

I have set up something like this and it basically happens when the player hits crouch key while the character is above a certain run speed.

You nailed it Adeptus - essentially a slide tackle or sliding under a closing door as you described, Indiana Jones style :slight_smile:

I’ll try just playing the animation in my character blueprint and leaving root motion out of it. I was able to get the animation working with the UE4 skeleton so I’ll give it a shot this evening. Thanks again!

Since the camera boom is attached to my root component which is not moving with the animation being played, how is the camera supposed to be updated, or can it be, during the slide animation?

I have the animation working now, but I mean the character just slides and then warps back to his original position from where the animation began playing. I guess I would need another transition animation? This is the disadvantage of not using root motion I take it?

Thanks!

Did you turn off root motion for everything?.. (you need to also turn it of in the animation clip itself: under the root motion tab in the animation settings tick off ‘enable root motion’.
Then your character should remain within its capsule…
oh besides, youll also need to reduce the capsule half height while in slide to successfully slide under obstacles…

As I mentioned before, since your root bone is probably the hip bone (if you are using the mixamo skeleton) this might disable your motion from the root bone, thus making it useless. You should gather the mixamo animation with in-place setting instead.

Unfortunately there doesn’t seem to be any in place sliding animations atm :frowning:

you can just edit it yourself then. Open maya or blender or whatever you have, and then delete the animation on the translate x channel for the hip bone.

Thanks Adeptus - I was looking into that last night. One alternative method I found was to utilize an anim montage instead of just an anim sequence. I’ve tried hooking up a play anim montage to my BP when a button is pressed however right now only the first few hundredths of a second of the animation sequence in the montage play. I have my slots defined correctly I believed, I think it has to do with my player switching back to a state before the montage has finished. I’ll need to look into that further.

Thanks again for all the help!

I have implemented this very feature into my controller already. If you want I can make a little video breaking the whole thing down, with anim states, capsule management, variables, animations, etc.

That would be super cool of you and greatly appreciated if it’s not too much trouble for you to do. I think it would be great for the community as well - I’ve found coming from a technical background the animation process in UE4 to be very confusing, but that’s just due to my lack of understanding when it comes to skeletal animation. I’m learning a ton though!

Cool, Ill set something up today when Im home from work. Hang in there.

Thank you much!

Hey mate, its done…
Sorry the blueprints are a bit messy, but its just to show you the ideas behind it. Let me know if something isnt clear.

Thanks so much adeptus! Going to check it out now! I’ll make a video once I get mine implemented.

I have most of this implemented though I need to move some stuff into C++, either way the video is extremely helpful. Hoping to post a video either later this evening or sometime tomorrow. Thanks again adeptus!