How to Loop an Animation in Blender with a Start and Stop Time [2D Grease Pencil]

Creating a Blender loop animation that does NOT loop indefinitely is not intuitive, but it is possible. This allows us to animate multiple scenes in one Blender file, really streamlining our workflows. Here's how to do it.
Blender Loop Animation

Blender is an awesome open source animation program for both 2d and 3d, but it isn’t the easiest to learn to use. My biggest issue was learning to make Blender loop animations inside of a longer animation. For example, say you’re animating a music video that is 1 minute long. You need your character to run from second 10 to second 15, but you have a scene before that, and a scene right after that.

This is when you discover the Time Offset modifier. But you’ll quickly notice a huge problem. This modifier loops your animation indefinitely. Even once you flip scenes your character will continue to run, which is not desirable. And when you add a blank keyframe your modifier breaks and the character only loops once. And sometimes even without the blank keyframe your character doesn’t loop at all – which is equally frustrating.

Blender doesn’t have an intuitive solution to this, but the good news is the solution exists and it’s easy.

How to Set up a Normal Loop (Infinite)

Prerequisite: Have an animation ready that needs to be looped.

blender loop animation Prerequisite

Step 1: Get out of edit mode if you’re in it. The Time Offset Modifier will not loop your animation while in edit mode. Either click the edit icon next to your grease pencil object until it disappears – I circled this in blue below – OR click on “Edit Mode” in the top left of your screen and switch to “Draw” or “Object Mode.”

blender loop animation edit mode

Step 2: Select the grease pencil object layer in your Scene Collection. Make sure your layer is highlighted blue like mine. (circled below.)

Step 3: Open the Modifier window. As you can see, this can be found in your list of tools – it is the wrench icon (circled below.) You can tell you have the correct layer selected when the title above the “Add Modifier” dropdown menu mirrors the name of your grease pencil. In my case it is “3 – Trot Cobalt.”

blender loop animation modifier

Step 4: Click the “Add Modifier” dropdown and select “Time Offset.” (circled below)

blender loop animation with time offset

Step 5: Once you select “Time Offset” you’ll be faced with a few settings.

  • Leave mode on “Regular” unless you want your character to loop in reverse.
  • Leave “Frame Offset” on 1, unless you want your frame to start from a different frame than the normal starting frame. (For example – my trot loop starts at frame 177, but I could start it at 190 if I preferred)
  • Leave “Scale” as the default 1.000.
  • Make sure “Keep Loop” is checked.
  • Check “Custom Range” and click the arrow to open the range’s settings.
  • Take note of your loop’s first frame on the timeline. (I marked mine with a blue arrow – 177) Then take note of your loop’s last frame. (Mine is 200, which I also marked with a blue arrow)
  • Add the loop’s first frame as “Frame Start” and the loop’s last frame as “End.” This tells the Time Offset modifier which frames to pay attention to when generating the loop.
time offset modifier settings

How to Add a Start and Stop Time to Blender Loop Animations

Steps 1 – 3: Adding a Start Time

Make sure you follow the steps in the previous section before following these steps.

Step 1: Next to the Time Offset modifier there are two icons. One looks like a computer screen which is basically your view port or your canvas. And the other one looks like a camera which means your render view.

The first step is to tell Blender you want to see this loop starting at a certain keyframe. Simply hover your mouse over the computer screen icon (circled below) and on your keyboard hit “i” . This tells Blender to create a keyframe. You’ll notice the icon turn yellow to signify there is now a keyframe at this frame.

blender loop animation viewport

Step 2: Let’s do the same thing, but with your Render icon. That way when you export your animation, this one is included. Hover over the Render icon and press “i” on your keyboard. This icon will also turn yellow which means you were successful. (circled below)

Step 3: Just to keep things tidy, I recommend adding a keyframe right before your first one and telling Blender to turn off our modifier. That way your grease pencil isn’t looping until the first frame appears on your canvas. To do this move your cursor to one frame before your loop (in my case this is frame 176 – marked below with a blue arrow.)

Then hover over the computer icon and click “i” on your keyboard. Click on the icon with your mouse to turn the modifier off. Do the same thing with your camera icon. You’ll notice when you click the camera icon an “x” will appear in the middle of the camera. This signifies the modifier is turned off which is perfect.

Pat yourself on the back! You’ve successfully set up Blender to start this loop at the correct time.

Steps 4 – 6: Adding an End Time

Step 4: On the timeline, move your cursor to the frame you want your loop to stop. In my screenshot I have multiple layers, so I pulled the timeline up so I could easily see what I’m doing. Once you’re at the right spot, click “i” on your keyboard. A little menu will pop up – select “In Active Group.” This will add a blank keyframe to all the layers in your current grease pencil object.

Step 5: I compressed my timeline again so things are easier to see. Now we just need to tell Blender where to stop looping. On your timeline, go one frame before your new empty keyframes. Hover over the computer and camera icons and click “i” on both. Very similar to how we added our start time. The icons should turn yellow.

blender loop animation end frame

Step 6: On the timeline, put your cursor back on top of your new blank keyframe. Hover over the computer and camera icon again, and click “i” on both. Then click each icon with your mouse to turn them both off.

And that’s it! Play your animation back and watch as the loop starts and stops at the exact times you need it to. Also, go grab yourself a coffee – you earned it.

If you are still having issues, please check out the troubleshooting section below.

How to Troubleshoot a Blender Loop Animation that Isn’t Looping

  1. Make sure you are not in EDIT mode. I’ve noticed the Time Offset Modifier doesn’t work in this section. You can flip this off by clicking directly on the edit icon next to your layer OR switching from Edit to Draw or Object mode in the tool menu.
  2. Make sure there isn’t a blank keyframe inside of your looped animation. This will cause the modifier to break. Only have your blank keyframe directly after your animation loop ends.

Do you have more questions or problems?

Did this help at all? If you have more questions, please leave a comment below and I can update this article with the answer. Happy animating!

P.S. Thanks so much to Wilks for sharing this solution with me!

Leave a Reply

Your email address will not be published. Required fields are marked *