1 person found this helpful
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:
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.
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.
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.
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.
1 person found this helpful
Well, time-remapping means time-remapping not frame-remapping. Everything happens on genuine time calculations and if your values are off by a fraction, sampling the discrete frames may simply end up in a blank area. This may not show up in the first few iteration cycles, but may become apparaent later as those minute discrepancies accumulate. Well, whatever, without seeing your project it's just guessing around...
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.
8 people found this helpful
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.
omfg I've been looking for like 30 mins for this! ughh. so stupid. thanks!!
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.
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.