I have an (otherwise perfect) walk animation, in fact made by an animator (and I've imported it to UMotion)
So it has root motion which I fixed in UMotion (amazing!); that's in the "z" direction of course, and that works perfectly.
In unity I have the motion with "no exit time" so you can tap "walk" for just a second and the char will move only a short distance, half a step, if you tap walk for many seconds it will move many meters (obviously cycling the animation)
All works perfectly thanks to UMotion!
Bizarrely, each time I run the animation during play, the character "moves up" a small amount (5cm), and now adopts that new height. So, if you tapped the "walk" button dozens of times, character would be up in the air!
(Note it makes no difference if I turn off "no exit time", ie always a complete animation cycle, problem still happens)
in the example image I just hit "walk" three times for a second each.
Note: the scene has ONLY a perfectly flat surface and the character never has to go up or down or on steps; there is no foot IK at all.
COULD THIS BE THE PROBLEM:
IN the animation, which is beautiful, the animators have the Z root value jiggle up and down, which is great.
BUT ... shouldn't this start and end at zero ??
Is it just a mistake on the animators' side? I could indeed fix this by moving that curve "down" do it starts and ends at zero?
Notice it starts and ends at .059
(In Unity's import, for "root transform position Y" I have in fact tried all three; original / com / feet. It seems to make no difference.)
What have I done wrong in UMotion and/or how to fix in UMotion?
Thanks as always for the incredible UMotion service!