I have basic movement done with root motion on character controller, but i also want to be able to control my motion midjump. Problem is - jump animation has no way of knowing which way i was moving before i jumped and its own root motion can only account for vertical movement. How do i allow my character to keep moving in the horizontal plane when the jump animation is playing?
Also, as a side question, i am yet to get the jump root motion itself to work. For some reason, the jump root motion works fine on an object without a character controller and stops working when i add a character controller. Any input on this would also be welcome.
Failed to find a way to make controllable jumps with root motion and ended up ditching root motion entirely in favour of direct CharacterController.Move scripting.
Something tells me i’m going to regret this when it’ll be time to make the actual jump animation instead of a prototype.
I had the same issue solved.(it cost me lot of tries , sorry im not the best programmer).
To use a controller moved with root motion is a really cool stuff , its offers really realistic movement.But a character controller component offers you more flexibility.But you can have both at the same time!.
As soon as you want to move your character with physics and not with root motion you just have to make the boolean of the animator (Apply root motion) false as soon u want to jump.As soon the boolean (animator.ApplyRootMotion = false) its false all the animations controlled by this system will not work at all but u can control the movement of your character using physics.
As soon as your jumps end (controlled by an event in the animation or as soon as u check ground) u make the animator.applyrootmotion true again making the root motion system work with ur animations.
hope it works for you.Sorry of my bad english @uniMaxi