Is there any root motion workflow that doesn't require feet adjustments on frame by frame basis?

Ive been searching for an hour or so, but wasn’t able to find an specific answer about this problem. I need to make animations moving the character’s root around for my game, so in place animations aren’t a possibility. For now, I moved just the root bone (whole character) in straight line to ensure it has the speed movement I need in game, but now I need to start to add the actual feet movement to this animation movement. It happens that both feet follow the root movement (obviously), even when one of them should be planted. I did find some information pieces around the web, but nothing fixed this problem for me. I really need a best workflow for this, cause fixing the feet position on frame by frame basis seems to be a very bad, not to mention time consuming, way to do things.

I even considered unparent the feet from the root, but I’m positive this will cause problems in Unity as I need to use Humanoid rig there, which presupposes that the whole bone chain is connected to a single root.

I’m using Blender 2.8 and my rig was genereted by Makehuman, with the optimized for game engines option checked.

Does anynone knows a good workflow for this case? Maybe I missed something in my previous searches, cause this doesn’t seems to be a big deal at all, it must have a better way to this…

Thanks in advance for any insights.

I’m not entirely sure that I understand the problem. But I think that whatever the problem, you can probably solve it through the use of baking and remapping animations. (Not sure if there are better techniques though, just offering this because it’s at least one way of dealing with it.)

Okay, so you want foot parented to root, officially, for purposes of export. But for purposes of animation, you don’t want foot parented to root. So give foot a copy transforms constraint (world->world) targeting something else, then animate that something else. When you bake visual transforms, which I believe happens automatically by default on .fbx export, it will write that constraint to the action of foot, relative to its “real” parent, root. (If I’m wrong about the export, you can do the same thing with a “bake action” operation.)

You can do the same thing to bake root relative to something like feet or hips. Make an empty, give it copy location hips, then maybe floor it to Z = 0 if you want. (Just an example for anticipated desired root behavior.) Bake the action (visual transforms, remove constraints.) Duplicate your armature. Give your duplicate root a copy transforms from the empty, while the children of root get copy transforms from their counterparts in the original armature. Bake your duplicate’s action. Now you’ve baked the position of root into something roughly like your center of gravity projected to the floor, without affecting the animation whatsoever (assuming root is non-deforming at least).

Thank you for the answer, I’ll try to do what you suggested.

To explain a little better, check it out this gif:

This was a previous attempt, where I did animate the foot position frame by frame to ensure it keeps in place, just the kind of work flow I want to avoid. With a little movement in the root, the foot movement is break and I would need to readjust it’s position frame by frame. Only this time, my root movement is ready, and I need to work on the rest of the limbs to build the animation itsefl…

If still unclear, I’ll record another footage to explain better.

Many thanks again, apparently your suggestion solved my problem. It’s definitely an improvisation, but it seems to get the job done, which is what matter in the end of the day.