Suppress Control and All Cocks Plaster

These are two short videos that I created for Safe Harbor. The process that was used to create them is an interesting and likely somewhat unique one, so I thought I would write a bit of an explanation here. First, here are the videos for you to experience firsthand.

Suppress Control

All Cocks Plaster

These videos were created in Adobe After Effects 7.0 utilizing the Expressions, which are just a way to control keyframed parameters in After Effects with a script in Javascript. You can create little ‘expressions’ by using a collection of custom ‘variables’ based on elements of the after effects environment, such as timecode, layer values, etc. Often expressions are used as a way of linking values of parameters together, to make something animate in defined relationship with something else. However there are a myriad of creative possibilities for using expressions in After Effects. Here is what I did to bring about “Suppress Control”.

timeToFrames(t = time, fps = 23.976);
t = random(t,thisComp.duration);

This expression is on the Time Remap property of my main video layer. Time remapping is just a parameter that lets you alter the playback rate and direction of a layer dynamically with keyframes or expressions. All this script is saying is

1). convert the timecode of the current position into its frame-number, based on the given frames per second, and store this value in the variable ‘t’.
2). let ‘t’ then equal a random number between the current value of ‘t’, and the length of the current layer.
This effectively makes each frame in the layer a random frame between the beginning and the end. This has a very chaotic direct-animation type aesthetic to it, because it is a frame-based manipulation, and has no slow changes. In “Suppress Control” I did this for 3 different stacked layers, and then created another expression on the top two that turned the transparency on or off every x frames. Each of these 3 layers was then combined with the layer below it using blending modes. This created an additional chaotic abstraction to the image, because each image is now not only a random frame of the entire video, and not only one of 3 random layers, but each frame is an aleatoric combination of each of the 3 layers (or just 1 or 2, depending on if all the layers are turned on or not), blended into each other to create a strange abstract image. Here is the expression that blinks a layer on and off every X frames.
fr = 23.976;
FrameNum = 2;
Scale = 50
trig = Math.cos(time*Math.PI*fr*(1/FrameNum));
if ( trig > trig/2 ) { trig = Math.ceil(trig) } else { trig = Math.floor(trig) };
trig = Math.round(trig);
trig = trig*Scale + Scale;

1). What is the framerate? (or, how many times per second should this happen)
2). How many frames should each alternation last?
3). How large should the variation in value be?
4). A trigonometry function to alternate between +1 and -1 every x amount of time defined by the framerate and FrameNum.
5). If the result of this function is greater than half of it, round up; else, round down.
6). Scales the value to +Scale, -Scale, and then shifts it up to be between 0 and 2*ScaleI

If applied to a transparency parameter, it effectively makes a layer flash on or off every x amount of frames.

Another cool expression, which is used on the train layer in All Cocks Plaster is as follows:

layTime = time – (inPoint-framesToTime(112));
random(layTime, layTime + framesToTime(10));

This is a very simple expression also applied to the time-remapping attribute of a layer. All it does is, for each frame, choose a new frame between the current and 10 frames ahead of it. So the motion continues on its path, but is randomly jumpy, because it is jumping around randomly in a little box of 10 frames that is moving forwards.

This entry was posted in Evergreen, Tutorials and tagged , , , , , , , , . Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>