Copy link to clipboard
Copied
This might not be the best place for this post, but I just need some professional opinions on this, because I cannot wrap my head around this. Alrighty...
I a working on a recreation of Super Mario Bros in after effects and I need the 3 images of Mario's walking animation to loop endlessly for whenever I need to use it, I decided to use the "loopOut()" function because it would be faster (ironic -_-). Here's a screenshot of the comp and it's settings:
I suppose i should say that I didn't make these picture's, I got the files from a friend. Each one is a shape layer. I tried to do the old loopOut() function and move the last key frame back one etc etc, but it didn't work, the last frame was invisible. This isn't the weird part.
I searched up solutions to this and found some, I tried them in a new project and they all worked perfectly, but for some reason, whenever I do the EXACT same process with these 3 shape layers it NEVER works right. The weirdest part is that I found a way to improvise. I wondered if the problem was the fact that it was a shape layer, so I made a new solid and moved it to the back of that composition, IT WORKED, I didn't get the invisible frame, but why...?
After experimenting some more I found that I could put the solid layer in the middle of the composition and scale it down so I couldn't see it behind the Mario images, and it still worked!!! However, making the solid invisible gave me the problem again, that stupid invisible layer. Is there a logical explanation to this?
Video didn't load. I'll try to check back in later. Hopefully, someone will spot what's curing your loop not to loop. Go Mario!
If you're in a rush to get the animation completed, you could always go with plan B: Make duplicates of your Loop Comp and then use Sequence Layers to quickly sequence them across the Timeline. Or, render a movie and import it back into AE and set the Interpret Footage dialog box to loop that (kinda old school, but I use that every now and again just out of nostalgia
...Copy link to clipboard
Copied
Are you enabling Time Remapping on the nested animation loop so that you have something for loopOut() to work with as well as being able to extend the tail of nested Comp?
Copy link to clipboard
Copied
Yes I did both of those things. I enabled time remapping on the precomp layer, dragged it out until the end of the other main layer, went to the last keyframe on the time remapping, moved back one, placed a keyframe and deleted the one in front of it. And I get this problem.
I have also done the steps in different orders, multiple times. So I don't think my problem is in the process itself.
Copy link to clipboard
Copied
Instead of moving the last keyframe back one frame, add a keyframe before it. So, you'd have three keyframes total: one at the 1st frame, one at the last frame of the nested Comp (the one that you placed), and other keyframe the was placed by Time Remapping (a frame past the end of the nested Comp). That's how I usually do it.
-Warren
Copy link to clipboard
Copied
In addition to Warren's suggestion, You should copy the first frame and paste on the last to get a perfect loop and not skip a frame on every loop.
Copy link to clipboard
Copied
I'm not sure what you mean. There isn't any room for me to put any extra frames into the comp. Of course I could copy the layer and put it above the animation to fill in the gaps, but then there would be no point for the expression as I would have to repeat this process for each loop...
Copy link to clipboard
Copied
You should do this:
1.enable TR
2. Go one frame before the last keyframe and add a keyframe by clicking on the diamond icon to the left of your layer
3. Copy the first frame over the last keyframe
4. Add your expression
Copy link to clipboard
Copied
I'm sorry but once again I have no idea how to "copy a frame". Copy a key frame I understand, copy a layer I understand. The only way I would know how to "copy a frame" would be to make another identical layer and move the first frame of that layer over the last frame of the other one, which doesn't work. I'm sorry if I'm being annoying but I don't understand that.
Copy link to clipboard
Copied
Okay... saw your video. That is unexpected.
Try deleting the 3rd keyframe (I'm assuming you haven't already).
If you still get the blank frame, remove the Expression, set the second keyframe to Hold, then copy and paste the two Time Remapping keyframes as many times as needed to repeat the animation.
You mentioned not knowing how to copy and paste keyframe yet, right? If trying what I'm suggesting without the Expression: Select both of the keyframes, copy (Edit > Copy or Control C), move the Current Time Indicator to one frame past the 2nd keyframe and the paste (the CTI determines when the keyframes will go and the where defaults to the same parameter that they were copied from unless a parameter of like value is selected prior to pasting (phew, say that five times fast).
It does look like something is glyched. But switching to plan B when plan A doesn't work as expected comes up a lot in motion graphics.
Copy link to clipboard
Copied
Now you see where I'm coming from
I did delete the 3rd key frame in the video, same problem, except then the blank frame changed to one frame before.
I said I DO know how to copy KEYframes and layers and all that jazz, but not "frames" by themselves (I don't know what Roei Tzoref meant)
So now for some reason the looping works...I have no idea why now...I didn't do anything different, I suppose it will stay a mystery It is good to know that there are many other options if this does happen again though
thanks for your help!
Copy link to clipboard
Copied
I have no idea how to "copy a frame".
meant copy a keyframe.
here's a GIF:
now apply the expression.
Copy link to clipboard
Copied
Ok that makes sense then, thanks for taking the time
Copy link to clipboard
Copied
Just to make it clear Time Remapping can only be applied to a movie layer, a video or image sequence. When you enable time remapping first keyframe is applied to the start of the first frame of the movie and not to the in point. The last keyframe is the end, not the last frame but the end of the video. If you use the J and K keys to jump from one keyframe to another you'll see that the CTI jumps to the end of the movie so there is nothing visible in the comp panel. This is actually normal and expected behavior because you are dealing with time. If you want to loop a video layer then you have to go to the last keyframe in time remapping, then use Ctrl/Cmnd + left arrow or press o to move to the out point of the layer, or manually move to the start of the last visible frame in the movie and set a new keyframe. You cannot just drag the last keyframe back one frame. Then, if you delete the last keyframe you can simply use loopOut() to create your loop. You will need to extend the out point of the layer so you can see the loop.
I hope that makes sense. Most folks don't get time remapping until they have used it for quite a while.
The second thing I should probably mention is that a seamless loop does not happen if the first and last frame are identical. If you are using keyframes to do something like move or rotate an image you'll end up with duplicate frames in your animation. The solution to that problem is to move ack one more frame and set a new keyframe for TR. Once yo have the loop set up properly you can drag theist keyframe anywhere in the timeline and the loop will still work. To the left increases the speed, to the first decreases the speed.
I hope this is now clear in your mind.
Copy link to clipboard
Copied
Thanks for the detailed reply, I will have to read it over a couple more times to truly get it because I don't use TR much. But I appreciate you settling the issue
Copy link to clipboard
Copied
So I made a small video doing what you said (which is what I've been doing all along). It didn't work... Unless Im still getting something wrong 😕 Maybe the video will point it out.
Copy link to clipboard
Copied
Video didn't load. I'll try to check back in later. Hopefully, someone will spot what's curing your loop not to loop. Go Mario!
If you're in a rush to get the animation completed, you could always go with plan B: Make duplicates of your Loop Comp and then use Sequence Layers to quickly sequence them across the Timeline. Or, render a movie and import it back into AE and set the Interpret Footage dialog box to loop that (kinda old school, but I use that every now and again just out of nostalgia).
Copy link to clipboard
Copied
yes, I have been doing that fr the time being, I might try the render if this doesn't work. I believe the reason why it didn't load is because I set the video to private, not unlisted, so try it now
Copy link to clipboard
Copied
I was having the exact same issue. Kept inputting the expression, still no loop. Was running the loopOut('cycle') expression on a Time Remapped layer.
Then I realized I totally forgot to remove the last keyframe and it was playing from my last keyframe of the loop to the forgotten keyframe of the time remapped layer. (sorry, a bit confusing way of describing it.)
Remove the last keyframe and fixed.