Skip to main content
Participating Frequently
May 31, 2013
Answered

Using the loopOut() expression always leaves the last frame blank, no matter what I do

  • May 31, 2013
  • 8 replies
  • 95686 views

The problem:

I've enabled Time Remapping on a composition and am using the loopOut() expression to repeat a 16 second animation until the end of the video.

When I apply the expression, it places a keyframe at the beginning of the clip and at the 16 second mark. When I look at the single frame at the 16 second mark, the composition is not visible. (The object boundaries are visible to scale/move but the image is not.) This also occurs at the 32sec mark, 48sec mark, 64sec mark...

The solution I found (that's not working for me):

  1. Create a new keyframe one frame before the 16 second mark
  2. Delete the keyframe at the 16 second mark

What happens instead:

Once I delete the keyframe at the 16 second mark, the keyframe at 15;29 becomes blank. The last keyframe will always be blank, no matter where it was placed, before or after the original.

If I have four keyframes and delete the last one (#4), the third keyframe will become blank. If I then delete the third keyframe, the second keyframe will become blank.

Any troubleshooting help would be appreciated.

Correct answer Teighe

The solution to this problem, that I found, was ridiculously simple. I just had to turn on the "continuously rasterize" icon (the little star burst) next to the "shy" icon. I hope that's helpful to anyone reading this post now.

8 replies

New Participant
October 29, 2018

I found one thing that may create empty frame.
If you have frame rate 29.97 change it to 30.

That solve my problem.

Community Expert
October 29, 2018

Just changing the frame rate is no solution. The black frame rate in a loop is caused by the placement of the last keyframe. It is as simple as that. Changing the framerate of a comp or footage is going to give you other problems. Frames are Frames and time is time. Change the frame rate of footage and you change the time it takes to playback. Change the frame rate of a comp and the time stays constant but the number of frames changes. Most folks that did not grow up shooting motion picture film do not understand how frame rates and time relate to one another.

New Participant
October 29, 2018

I do not have black frame i got blank/ empty frame like OP. And no of answers from here help me so i hope to help someone in similar situation.

If help it is a solution.

New Participant
September 11, 2017

I've just had the same issue. I only get a single blank frame on the first loop around so it has to be a bug. I ended up just duplicating my comp for that single missing frame. Simple solution this time but I hope Adobe fix this bug.

Roei Tzoref
Brainiac
September 11, 2017

To make a prefect loop do this:

1. enable TR for the layer

2. Go one frame before the last TR keyframe And Add a keyframe (hit the diamond icon)

4. Copy the first TR keyframe over the last keyframe

5. Add the loopout expression

New Participant
September 12, 2017

Thanks for taking the time to answer. This method did stop the blank frame problem on the first loop around, but at the expense of the last frame of my animation for all the subsequent loops (which start a frame early now). This knock-on effect is harder to spot than a blank frame but it is there. It still looks like a bug to me. Looping a Comp should be simple.

New Participant
March 6, 2017

I am using loopOut() after enabling Time Remapping and at the end of the comp (which i'm trying to loop) I get a black frame, therefore I have selected the comp and in the timeline at the second diamond shape for the Time Remap (the last frame the Black one ) type in one less frame. exp: the comp which you want to loop is 215 frames therefore you can go ahead and type 214.

That solve it for me I hope it will do for you.

Known Participant
January 27, 2017

Just to confirm, I'd be messing about with keyframes for the last hour. I had a 24 frame animation had tried every which way... described in tutorials on YouTube in other threads on here. Using the pingpong method worked. But I wanted to get the cycle working as well.

As soon as I turned on the 'continuously rasterise' icon it worked like a charm.

Teighe
TeigheCorrect answer
New Participant
October 31, 2015

The solution to this problem, that I found, was ridiculously simple. I just had to turn on the "continuously rasterize" icon (the little star burst) next to the "shy" icon. I hope that's helpful to anyone reading this post now.

rocios53101895
New Participant
December 5, 2016

omfg I've been looking for like 30 mins for this! ughh. so stupid. thanks!!

New Participant
June 12, 2014

In my case, moving time remapped frames resulted the last frame before 00:00:00 being blurred."Toggle hold keyframe" couple frames before the last worked for me.

Participating Frequently
May 31, 2013

I found out I can use the loopOut() expression on another composition with the new keyframe method outlined above, and it fixed the blank frame.

The same method does not work on the original composition in question, for whatever reason.

Fortunately, the loopOut("ping-pong") expression you mentioned will work for this animation, and that does remove the blank frame.

OMRGL
New Participant
December 19, 2018

If you are still experiencing a blank frame even after creating a new keyframe back one frame from the end and then deleting the last one, try to "Purge All Memory & Disk Cache...".

This fixes the problem for me when I have a stubborn comp that keeps the blank frame even after setting up the loop correctly as other users have stated.

New Participant
January 28, 2020

This really helps! Thank you!

Community Expert
May 31, 2013

This is normal behavior. Don't delete the keyframe at 16. Let me explain.

Let's say you have 2 keyframes for transparency. Frame 0 is 0 and frame 10 is 100. Adding the loop out expression to these keyframes will give you the following:

Frame Opacity

0 = 0

1 = 10

2 = 20

3 = 30

4 = 40

5 = 50

6 = 60

7 = 70

8 = 80

9 = 90

10 = 100

11 = 10

Then frame 19 will be 90 and frame 20 will be 0 and so on. This is because the animation loops between frame one and frame 10 which means it only reaches the value of frame 10 the first time through the loop. Every time after that the loop starts over at the first frame of the loop (frame 10, 20, 30 and so on).

This is normal. If you want frame 11 to be 0 then you'll need to add a keyframe there so you have an 11 frame loop instead of a 10 frame loop.

To solve your problem try backing up 1 keyframe from the end, inserting a new keyframe, and then leaving the last one. Now you have a seamless loop of all of your keyframes.

Does that make sense? The loopOut() method loop is exactly the same length as the keyframes to therefore the next frame after the loop has the same value as the second frame after the start of the loop and all subsequent loops will end one frame before the last keyframe. To make a continuous loop from 0 to 100 you need 3 keyframes. One at 0, two at 100 and 3 at 0.

You can also change the loopOut method from the default "cycle" to "pingpong" by writing loopOut("pingpong"). This would give you a smooth fade up and fade down between 0 and 100 because the loop goes back and forth between the first and last keyframes.

This is the way looping functions work in Java, 3D apps, and everywhere else that I have used them.

Participating Frequently
May 31, 2013

When I put a new keyframe 1 frame before the end, there are no visible changes. The last keyframe is still blank.

I can assign the last keyframe the timecode 00;01 instead of 16;00 and then the second-to-last keyframe becomes blank.

This feels like a bug more than anything. I understand where you're coming from, but After Effects isn't giving me the logical result.

Participating Frequently
May 31, 2013

Ok, I might be on to something...I need to do a little more testing but I think I've solved it. I'll report back in 30 minutes.