OK, so I’ve created a character and a set of animations with the help of MakeHuman. One of these animations that I’ve made is a dodging animation. When the player hits the dodge button, the character shoots forward a little and I want them to finish up somewhat further ahead. After a little fiddling, I’ve managed to get the animation playing when the player hits the button, and the dodge is in a semi-functional state. So far so good, right?
Well, no. Depending on the Root Motion mode I pick, the character either shoots forward but snaps back to where he was initially standing, or performs the animation, but otherwise doesn’t move at all.
I wondered if MakeHuman might have something to do with it. The animation appears to have some form of Root Motion, since previewing the bones in Persona reveals that the telltale red line moving forward, but I only really accomplished the root bone motion by moving the whole skeleton (if there is a root bone visible to manipulate with MakeHuman’s rig, it’s really small).
But on the other hand, I may well be missing something completely obvious. It just doesn’t seem like the capsule’s moving for me. I don’t know if there’s something I need to change or what. The only things I’ve really done are check “Use root motion” on the appropriate animation and change the Root Motion Mode a couple of times in my animgraph.
So how can I get this working properly? Is there something that I’m missing? If you need more info about things, don’t hesitate to ask. Thank you.
What rig are you using? The best rig for root motion I have found is the Game Engine or Uengine rig. It has the actual root of the armature at the character’s feet. So if you need the character to leave that one spot, you would animate the “hips” bone which is around where the character’s hips are and is parented to the root at the character’s feet. I have found that this gives much better results for some reason. Unreal likes having a root bone that is completely stationary, so having another bone below the stationary root in the hierarchy that controls the rest of the character like a hip joint is the easiest way to go.
Also, in Unreal, your character’s armature is going to be read as the root bone, even though it is not actually a bone so your armature will always be the first bone in your hierarchy. I’m sorry if this is a little confusing. I’ve had to learn a lot of this through a lot of trial and error.
The standard MakeHuman rig is what I’m using. I’m not using Rigify either. I mainly picked standard because I was using an outdated version (read: no Game Engine rig) and because it had facial bones. Might have to add those myself if the standard rig doesn’t work.
Thank you for your explanation, by the way.
You should be able to easily add a root bone if there isn’t one already at the character’s feet without destroying your animation in Blender. I don’t remember if the default makehuman rig has one or not, since I don’t use it very much. If you were using makewalk, I would say you should also load and retarget your mocap before you add the new root. Otherwise the retarget will fail or it will give you wonky results.
Well, there’s a problem. I can’t actually use ROOT motion if there isn’t really a ROOT to speak of, is there?! Duhhhh.
Anyway, I’ve just gone through adding the root bone to all of my animations (the hips are parented to the root) but the problem still seems to be there. Should the root bone not be moving at all in any animation then? The root bone in this case isn’t perfectly 0,0,0 in terms of location, though.
Wait you said you got it working. Why not just play the dodge animation and then when the character finishes the dodge, in the blueprint, play a separate animation of whatever the character is supposed to do after he dodges? Why mess with root motion at all? I might be confused, but usually an animation snaps back to it’s original position when it’s done playing, unless you’re using an animation Blueprint to tell it not to. I guess it would help if I could see what your set up is. But from the sound of it, I don’t think it’s a Makehuman thing. Can you maybe attach a video of the animation playing?
I AM a pretty big novice at this. Me going about this the wrong way is a perfectly feasible explanation.
Here is the relevant passage in my animgraph. Basically, play the animation when the “dodging” variable is true. That’s about all. Same goes for the transition rule. If dodging is true, perform the transition, then go back to IdleWalkRun (my blend space).
I sadly can’t figure out how to show a video of the character performing the animation, but he finishes it away from where he started it and goes to the idle pose right at the end. I go through root motion because the hit capsule is supposed to move with the character as he rushes forward. I hope I described it enough.
Well, I don’t really want to attempt this anymore. I gave it my best shot, but I’m pretty much tired of trying to get this to work. It wasn’t for nothing though, since I know a bit more about how I should rig stuff more. I think I’ll just stick to comics. Thank you for your help.
Hey, sorry I couldn’t be of more help. I haven’t played around too much with root motion in Character Blueprints. The only thing I could really find on it was this document Root Motion | Unreal Engine Documentation
But you’ve probably already read it. I wanted to read up more on it before responding but didn’t get a chance to. I hope you figure it out if you decide to go back to it
You did all you could. I can’t ask for anything more. I have read up on that, it’s annoying how there isn’t really much else to go on. Thank you once again.
Well if I come across something I will be sure to post it here