So, this one is a doozy.
But I’m guessing the solution might be quite simple, so here we go.
I’m trying to make a background animation for my twitch stream.
Because it’ll be a background, I need it to loop.
So the idea is, I have a grid of squares, like as if wall tiles.
And there’s several loops going on within this.
The way it’s constructed is:
There’s one “master” tile animation and every other tile is that tile, repeated. But NOT using the repeater because the tile has a wiggle opacity expression to simulate lighting changes.
The tile also has a wiggle Z position expression to simulate it moving back and forth in the wall.
The whole wall is one composition containing the tile duplicated several times over.
This has an adjustment layer on top with a gradient, to simulate it going “into infinity”
And the last comp is 3D and has a camera pointed upwards with the wall in an incline.
The idea is for the wall to keep sliding into infinity, while at the same time each tile moving back and forth and changing opacity.
Now for the problems:
– Looping the position of the tiles, is easy enough, I just set the first and last frames of the 2D animation, to begin and end looking exactly like it’s in the same position, but actually the end keyframe has it moved up and left one square over. As in, each square has a 150px side. So first frame is at position 0,0 and last is at 150,150. Makes sense, right.
BUT, because each tile is independently animated and changing opacity, when the loop happens, they reset so even if the position slide is perfect, it gives away the loop because obviously, the tiles go back to the initial position and since they’re changing opacity, this becomes evident. I tried to get around this by using a looped wiggle expression on the square, that allows setting how long the animation is, and setting the time to the same duration of the sliding loop. Didn’t work.
– Finally, because that’s happening, I can’t really loop the 3D comp either. I suspect when I fix the 2D one, the 3D one will follow suit because it’s just the 2D one at an angle…
I’m gonna link it for a quick watch.
A render is also attached.