Root Motion is Hard to Use

Continuing the discussion from Why not use "apply root motion" to the character animation?:

The Comment was made Root Motion is hard to use.

I am using root motion. For those animations that I do not want any root motion to affect my character I back it into the pose or just delete the movement, say on the X, Z access. I believe the issue that was coming from the course is that you have the Rig set to generic, hence why when Mixamo changed the bone structure you had to re-download the animations and the character model, setting the Rig in the Import setting to Humanoid
Unity_EuddwmTLLn

This allows you to duplicate the animation and be able to have the options to back into pose. This way you can delete the unwanted XZ Movement in the animation.

The Only real problem I had was when Jumping and fighting for control, I backed the height (y) in the pose and it fixed the issue. So when getting to the climb up my controller followed I did not have to add the complication moving the character and the camera snapping or the added fading issue.

I Did turn the character controller off when entering the pull up and back on when exiting the pull up just to ensure that there was no fighting between the animation and the character controller.

Settings
Attack 1, Attack 2, Attack 3, Dodging, Get Hit


Deleted Anaimater.Root T.X and T.Z
I Added the Events before duplicating the attack animations, I only duplicated them because I wanted to get rid of the movement on the root in the x and z axis, I don’t think there was any in the animation to start with was just being cautious.

Walking (Normal and Strafing Left Right), Running (Normal and Strafing Left Right), Blocking, Idle


Deleted Anaimater.Root T.X and T.Z
The Difference here is the Loop Time Check Box.

Jumping


Deleted Anaimater.Root T.X and T.Z
I had to add more force upwards to get it to jump high enough, The Character

Falling


Deleted Anaimater.Root T.X and T.Z
Had to use the Y position at the original and not bake it in, I tried the feet but this caused issues with my Collider not ever hitting the ground. I was just floating there.

Landing


Deleted Anaimater.Root T.X and T.Z
Landing is the same as the Falling the difference being the loop time, this is how I had to set it in order to keep it from clipping through the ground.

Hanging


Deleted Anaimater.Root T.X and T.Z

PullUp


I did not have to duplicate this Animation since I did not make any modifications to it.

You do realize, of course, that through this post, you demonstrated that root motion is, indeed, hard to use!

It is possible to use RM with the controller, however it does require a bit of extra work on the side. This is an excellent walkthrough on the process, Well done!

1 Like

I agree that using Root Motion as a solo means for controlling the character and incorporating physics is hard and complicated (you have to sync the Animation Velocity with the Physics Velocity, usually through code).

“Hard” is a matter of perspective.

Personally I think a Hybird System (using In Place Animations (Animations without any root motion in them) and leaving the Root Motion check box checked changing the Bake Into Pose / Based Upon settings for the few animations that actually have root motion in them) is easier then trying to sync the animation velocity with the physics system or syncing the physics position with the position of the animation (like we did in the course).

We had to have an offset to move the character to, turn off the controller, translate the position of the character, turn on the controller, change the way the animations blended, copy frames of an animation to the end of the hanging animation so it blended correctly with our idle animation. Separate animations for the Enemy Character and Player Character.

I usually use In Place Animations from Mixamo using the In Place Option.
firefox_LF8kyTYp02
There are some animations that do not give this option but we kind of usually want the position information.
Setting the Animation to be Humanoid, One animation to control them all.
Default to Bake Into Pose and Original/Feet/Original as my standard work flow. Only Changing the Root Transform Position Y for those that have movement in the Y Direction I usually only duplicate the animation if I want to modify it, like I don’t like the way the hand moves or the animation had unwanted root motion in it.

Since this is my default way of doing it for years my thinking is the way shown in the course was a little more complicated, a valid solution to the problem at hand.

Thank you.
I try to give detailed ways of doing things different and explain the reason for selecting the setting that I did.

An excellent quality!

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.

Privacy & Terms