Hello again. I decided to post a little video I just created. It's a test render for a bigger project I'm working on for a TV show intro. I'm creating a fun-filled factory with little bells and whistles, and a conveyor belt.
In Photoshop I created a variety of little rectangular metal swatches, and then flattened an emboss effect onto them all. The photoshop doc also had a little closeup section of an engine with hoses and metal fodder to fill in the sides, as well as a little wheel layer, I think from some photo of a wheel if I'm not mistaken...

DUPLICATION with VARIATION
There's a little trick I use in After Effects when I know I'm going to be duplicating something over and over again, but don't really want that icky repetition. The desctiption will sound hairy, but I promise it takes less than a minute to do:
As you can see above, I created that variety of identically-sized metal rectangles, each with a slightly different metal and rust pattern*. I'll create a composition in After Effects based on one of these metal swatches' dimensions, and make it 7 frames long, since I had seven variations. I bring in all the others so there are seven layers in my composition. Immediately, with the scrubber at frame 0, I select all layers and press "Alt+]" which makes each piece of footage one frame in duration. Then I right-click on the selected layer stack, find and say "Animation Assistant>Sequence Layers" I put uncheck overlap, and say OK.
Now I move this metal plate composition into my main construction composition, which in this case was standard 720x480... thank god for standard-def, so forgiving... anyway, I do a quick little bit of scripting. I enable the time rempping "Ctrl+Alt+T", and then alt-click on the stopwatch to add an expression:
seedRandom(index,true);
random(6/30)
This expression will simply tell this layer to display only one random frame for the whole duration of that layer's existence. Since it's a random expression, as I duplicate this layer, I'm getting a bunch of random variations.
ANIMATION:
This next part was fun, and I'm glad it worked out. I created a new null object. Using this, I created a motion path with four keys, a left to right, then a down with a vector curve, then right to left, then a vector curve back to position 1. Essentially a rounded long rectangle. Once the path was complete, I selected the middle two keyframes and right-clicked on them to select "Rove Across Time". This feature makes it so the transformation of the layer is uniform over time, the keyframes appear as little dots, and will be automatically positioned to make your new motion path a constant rate.
I added an expression to this null's position, selecting "loopOut(type = "cycle", numKeyframes = 0)" from the twirl-down icon next to new expressions. Now I've got the layer moving in the shape of a conveyor belt, and looping. I'll convert the null to a 3D object at this point using the little cube 3D switch. This 3D Null object will drive the entire animation.
Now I select the metal rectangle layer. I twirl down to its position value and put in this expression:
thisComp.layer("Null 1").transform.position.valueAtTime(time-.18*index)
This expression tells the position of this layer to follow the position of that null object, but about .18 seconds behind the current time/per instance. So if i duplicate this layer, it would follow the position by .36 seconds, and so on and so forth. (BTW the number .18 just happened to be the correct number for my settings, it will always be different depending on the size of the layers). Before I duplicate, however, I'll right click on the layer, and select "Transform>Auto Orient" and then check "Orient along Path". I'll now rotate the rectangle manually to be oriented in the correct starting position (flat to the path). I'll scroll through the animation now, and watch the individual rectangle make it all the way around the loop once. Sweet.
Now here's a fun part. Leaving the time scrubber at the end of this first loop, I duplicate the rectangle layer and POOF! A new rectangle appears right behind it, along the belt path. I press duplicate again, and it happens again! I repeat this until my entire belt is covered in rectangles, and the magic is working itself. Because of that time-remapping expression earlier, each of the tiles is randomly varied to be a different rust pattern, and because of the embossing baked in, when I look at this conveyor belt, it has a little built in lighting!
The rest is simple, I throw in the engine looking layer, and sandwich it inside the conveyor's oval. I put in the wheel layers, adding an expression to the wheel's rotation:
time*180
This simply turns the wheel 180 degrees every second, again, 180 just happened to be timed right based on the dimensions of my belt. I turned on shadows for all the layers, and threw in three spotlights, and one red directional light for flavor.
The result is cool beans, and it's kinda modify-able. I can alter the path of that null object to create some crazy results and differently shaped belts... Ooooh... perhaps I'll create a Johnny 5 entirely in After Effects....
Now I could have explained this in a more trim fashion, and probably will in the future, but I figured this way was kinda fun in case anyone of the two readers of this blog ever wanna try it.
*PLUG:
The textures, by the way, are created using some of the "Grunge" textures from VideoCopilot.net's "Riot Gear." This is one of the best collections of grungy, splattery, and amazing useful textures and clips I have ever seen. It's easily my most used library for compositing "sweeteners". This is highly worth it for any compositor. Please check out their website, and support these guys:
Actually an epic post - doing some info-graphics for a large project that has factories and conveyor belts galore -- this is super helpful. Thanks!
ReplyDeleteI'm a little late to the party here, but this post was a great find for me as well. Would be interested to see some new updates if you're still thinking of adding to this blog. Nice work.
ReplyDeleteI did everything you said and got a correctly working looping belt.But I have a large space between one of my "metal plates" that I can't figure out how to get rid of.
ReplyDelete