I have an .fbx imported into Blender with animation from Mixamo and I want my character to walk a longer distance, however it keeps walking in a loop (I duplicated keyframes) starting at the same point after the duplication begins and it does not continue his walk. How can I fix this? Thanks.
There are 2 sorts of walk cycles, a dynamic one and a static one (well, these are my own words):
- The dynamic one makes the character go forwards in Pose mode:
With this kind of animation, if you want the character to move in your 3D scene you need to duplicate the bones keyframes and make the second cycle begin at the end of the first one and so on. There are 2 ways to do it, either in the animation itself, in Pose mode, you need to duplicate the cycle and move the copy a bit further on the right axis, and so on. Or you can do it with the armature object itself, using keyframes and making it jump from position A to B when it needs to begin its second cycle, and then from position B to C, and so on...
- The static walk cycle makes the character walk like on a treadmill, by default it doesn't make your character move forwards in your 3D scene:
In that case you need to repeat the action in the NLA Editor and you need to make your character go forward in Object mode. Either you create 2 keyframes to make him go from point A to point B, or you use a Follow Path constraint so that he follows a curve. In both case you need to syncrhonize his speed in the 3D scene with the speed of his walk cycle, otherwise the feet will slide. You can also vary the NLA strip speed to fix the issue.
For small walks, or walks with some changes in its course, it's probably better to use the first solution. For long walks through a large 3D scene, it's generally better to use the second solution.
According to @Gorgious, there is an option when importing from mixamo to choose between "actual" movement or "treadmill" movement with animations