I have an 8 second comp and I noticed that if I put the play head to the end it stops at the second last frame then I have to do page down to put it on the very last frame but when I do this the comp disappears. Is there a reason for this?
The time indicator is positioned at the start of a frame, not the end. If you have a 100-frame comp and move to the end of the comp, the frame number display will be 99 because frame 99 has not been played yet. After 99 frames have played, the duration will be 100 frames, but the movie will be over.
You are looking at the frame that starts at 8 seconds. When you move the time to 8 seconds, 8 seconds have passed, so there is nothing to see in the comp panel. Did you follow that?
Move the time indicator to 8 seconds, cut, and delete the extra, or trim the shot, and the viewer will be black because the shot was 8 seconds long. You have moved to 8 seconds, so the shot is over. It is that way in all compositing and editing apps like Premiere Pro.
The difference between an NLE like Premiere Pro and After Effects is that if you move to 8 seconds and set an out point for a layer, you will still see the last frame, and you have trimmed the layer to 8 seconds and one frame.
It is important to see the last visible frame when you are animating. so you can line up the next frame correctly.
I hope this makes sense.
Hi Rick, yes that makes sense thanks. So I'm wondering if I want my comp to loop do I have same keyframe on last frame as first? Because when I do that sometimes I notice a slight freeze at the end because there's two loops exactly the same.
If you want to use loopOut() to create a seamless loop, the first and last frames must be identical.
When you use time remapping, the first and last frames must also be identical.
If you want to render a video that you can interpret to loop many times, you need to set up the comp so that the first and last frames are identical, and then the comp must be shortened by one frame for the video to loop seamlessly. That is because the last frame will be repeated. If they are identical, you will end up with two identical frames in a row.
As I said before, when you set a keyframe or trim a layer, you are at the starting time of the frame. The loopOut expression treats the keyframe as the end of the last frame, not the start. That shortens the loop by one frame in the same way you must shorten a comp by one frame if you want to render a movie that will seamlessly loop. It took me a long time to wrap my head around loopOut expressions. It wasn't until I figured out that loopOut() treats the starting time of the last keyframe as the end of the loop that it all made sense.
I hope that clears things up for you.
So if I'm understanding correctly if my comp is 8 seconds at 25fps I only render 7 seconds and 24 frames but I still have the duplicate key frames on the 25 frame?
Correct. A video plays until the end of the last frame. If you do not want the last frame to be played twice in the loop you have to delete the last frame by making the video one frame shorter than it is.
loopOut() loops from the first keyframe to the first of the last keyframe. This eliminates the duplicate frame and makes the loop exactly the same as looping a video. No repeated frames. Most users start out thinking that loop out plays the first frame through the last frame, then loops. That is incorrect. Loop Out uses the last keyframe as the end of the animation, it does not play the last frame.
I hope that makes sense.