Repeat an Animation with Offset in Blender

Many game animation asset motions comes with looped animations. Typically they provide separate file s for the start of animation, end of animation, and a repeatable loop body of the animation.

In this note, we will see how to extend and repeat this animation indefinitely in blender.

Example File

Here, we will use this d01-prone-f-loop.fbx as a demonstration.

Import this animation FBX in blender

Select the armature, go to the "Animation" panel, and set the window view as "Graph Editor".

In this view, it plots all the keyframe values on the timeline

To repeat the motion, select all the keypoints by pressing A, and then press Shift + E. In the opened menu, select "Make Cyclic (F-Modifier)".

For more information on the F-Modifier, please see here.

Now the values are repeating, but we also want to offset the global root positions to let the character keep climb forward.

To do this, select a datapoint from the keyframe entry that we want to modify:

Go to the right N-menu of this window, select "Modifiers" panel, and set both the Before Mode and After Mode to be "Repeat with Offset".

Now we can see that the green Y-axis value keeps increasing / decreasing indefinintely.

Final note: this modifier is compatible with our Python API that reads the pose bone values, hence can be used in the PoseLib-V2 reference motion generation pipeline.

References

Last updated

Was this helpful?