
Building the World's Greatest Cameraman Using After Effects 5.5 Expression Controls
Dan Ebberts July 26, 2023
0 Comments
Originally published in 2002
With version 5.5 of After Effects, Adobe added the wonderful world of the powerful new Expression Controls. In this tutorial, Dan Ebberts looks at several different ways that expression controls can be useful in your projects.
This is an Advanced Tutorial.
Download Project File .zip
Download Movie
introduction In this tutorial we're going to explore the wonderful world of the powerful new expression controls which Adobe introduced with After Effects 5.5. We'll look at several different ways that expression controls can be useful in your projects. First we'll examine the most straight-forward use of expression controls, which is to use them as a manual adjustment master control to help you set up a comp just the way you want it. Then we'll explore using expression controls as master animation controllers. Next we'll examine how you can use an expression control as a limited type of global variable to distribute information to expressions in other layers. Finally, we'll have some fun using expression controls to create the world's greatest cameraman. That's a lot of ground to cover, so let's get moving!
the basics
After Effects 5.5 introduced six new expression controls: slider control, angle control, checkbox control, color control, point control, and layer control. These controls are applied as effects and are located in the Expression Controls group in the effect menu. When using these for global animation control, I like to apply them to a null layer (and then turn off the visibility of the null so it doesn't clutter the comp window) so it will be easy to find them later, but you can apply them to other layers as well. The first control we're going to look at is the slider control.
slider control
Go ahead and open the project file and select the tab for the slider comp. This comp contains a null layer (to which a slider control has been applied), a simple Illustrator graphic layer that has been duplicated a bunch of times, and a camera. Notice that the graphic layers are 3D because we'll be using the slider control to position the layers in Z space. Select the null layer and hit Ctrl Shift t (PC) or Cmd Shift t (Mac) to reveal the Effect Controls palette. Select one of the graphic layers and type p to reveal the position property. Click on the little twirly to reveal the following expression:
position [0,0,(index-1)*this_comp.layer( Null 1 ).effect( Slider Control ).param( Slider )]
This expression establishes each layer's position in Z space based on its layer number (index) minus one, times the value of the slider. So as the value of the slider increases, the layers will spread themselves out along the z axis. Go ahead and scrub the value of the slider (by clicking on the value and dragging). Pretty slick, huh? Notice that if you drag the value negative, the layers spread out in the negative z direction. You can also adjust the value by clicking on the little twirly next to Slider and dragging the slider. One other thing to note is that if you right-click (PC) or Control-click (Mac) on the value and select Edit Value from the context menu, you can adjust the range of the slider. You might want to do this to give yourself a wider range or more precision with the slider.
Note that setting up a comp like this is fairly simple. The graphic layers are all exactly the same. Once you get the expression set up you can quickly create a bunch of duplicates by typing Ctrl d (PC) or Cmd d (Mac) and the expression will automatically accommodate any number of layers.
angle and color controls Select the tab for the angle and color comp . This comp contains a null and multiple copies of a graphic layer that has had its anchor point moved to the bottom and had the tint effect applied. Select the null layer and hit Ctrl Shift t (PC) or Cmd Shift t (Mac) to reveal the Effect Controls palette. You'll notice that the null has an angle control and two color controls applied. The color controls have been renamed start_color and end_color so that we can refer to them by name in our expressions. Select one of the graphic layers and type r to reveal the rotation property and click the little twirly to reveal the following expression:
index*this_comp.layer( Null 1 ).effect( Angle Control ).param( Angle )
This expression calculates the layer's rotation by multiplying the layer number (index) by the value of the angle control. With the graphic layer still selected, type e to display the effects applied to the layer. You'll notice that the tint affect has been applied. Click the little twirly next to Tint and then click the twirly next to Map White to to reveal the following expression (you'll have to expand the expression area to see it all):
if (this_comp.num_layers<3){
this_comp.layer( Null 1 ).effect( start_color ).param( Color )
}
else{
this_comp.layer( Null 1 ).effect( start_color ).param( Color )
(this_comp.layer( Null 1 ).effect( end_color ).param( Color )-this_comp.layer( Null 1 ).effect( start_color ).param( Color ))*
((index-1)/(this_comp.num_layers 2))
}
This expression first checks to see if there is only one graphics layer, in which case it just uses the color from the start_color control (this is necessary because without this code, the expression will abort on a divide by zero error when you first apply it to a single layer). The rest of the expression covers the usual case where there are multiple graphic layers. In that case, the expression spreads the color out so that the top layer gets the start_color and the bottom layer gets the end_color and the other layers get something in between. Note that
Most recent headlines
05/01/2027
Worlds first 802.15.4ab-UWB chip verified by Calterah and Rohde & Schwarz to be ...
01/06/2026
January 6 2026, 05:30 (PST) Dolby Sets the New Standard for Premium Entertainment at CES 2026
Throughout the week, Dolby brings to life the latest innovatio...
02/05/2026
Dalet, a leading technology and service provider for media-rich organizations, t...
01/05/2026
January 5 2026, 18:30 (PST) NBCUniversal's Peacock to Be First Streamer to ...
01/04/2026
January 4 2026, 18:00 (PST) DOLBY AND DOUYIN EMPOWER THE NEXT GENERATON OF CREATORS WITH DOLBY VISION
Douyin Users Can Now Create And Share Videos With Stun...
21/02/2026
With Software Defined Broadcasting more established in Milan Cortina look for Los Angeles 2028 to have less hardware and more cloud-based software systems...
21/02/2026
The SVP of Olympic Operations on turning CAD drawings into reality, building tru...
21/02/2026
Share
Copy link
Facebook
X
Linkedin
Bluesky
Email...
21/02/2026
Share
Copy link
Facebook
X
Linkedin
Bluesky
Email...
21/02/2026
Back to All News
Netflix Unveils the Trailer of Accused', A Psychological ...
20/02/2026
Gravity Media and Los Angeles-based Green Couch Entertainment announce a strateg...
20/02/2026
IMAX announces it is working with Apple TV to bring the 2026 FIA Formula One Wor...
20/02/2026
Daktronics has partnered with the Philadelphia Phillies to design, manufacture, ...
20/02/2026
ESPN announces the upcoming launch of Women's Sports Sundays - a first-of-it...
20/02/2026
As the Seattle Seahawks and New England Patriots faced off in the NFL's biggest sporting event of the season on Sun., Feb. 8, Sennheiser wireless solutions ...
20/02/2026
ESPN announces its 2026 Major League Baseball spring training schedule, which includes four national games on ESPN, six games on ESPN Unlimited, and more than 2...
20/02/2026
Open Broadcast Systems, which specializes in software-based professional video transport, has added support for 200 Gigabit Ethernet to its range of encoders an...
20/02/2026
Chyron announces the release of PAINT 10.3, which is designed to help analysts and operators turn live action into clearer, faster on-air storytelling.
PAINT 1...
20/02/2026
With full squad workouts underway, MLB Network's live Spring Training game s...
20/02/2026
Tech enhancements, marquee productions are expected to take advantage of a summe...
20/02/2026
In-venue and creative video staffers at the professional and collegiate level ha...
20/02/2026
Ratings Roundup is a rundown of recent rating news and is derived from press rel...
20/02/2026
Speaking with SVG Europe after one of Team GB's greatest days at a Winter Olympics, BBC Sport's head of major events, Ron Chakraborty, explains the broa...
20/02/2026
Making Winter Games Olympic magic is the goal for every broadcaster in Italy cov...
20/02/2026
Curling, one of the least-dangerous Winter Olympic sports, is dominating the Mil...
20/02/2026
BBC Sport's presence at the 2026 Winter Games is centred around a significan...
20/02/2026
BBC Sport is bringing together its linear TV and streaming digital arms in a str...
20/02/2026
To broaden the appeal of winter sports at Milano Cortina, the BBC has integrated...
20/02/2026
Just in time for the start of Apple TV's inaugural season as the exclusive U...
20/02/2026
One big challenge was to depict the character of each of very different and wide...
20/02/2026
(L-R) Writer-director Amanda Kramer photographs the photographers at the premiere of her film By Design at the Library Center Theatre in Park City. (Photo by ...
20/02/2026
In our latest blog, Tim Pearson explores the impact that increased memory prices are having on the consumer electronics market, and particularly the set-top box...
20/02/2026
Calrec Type R: Shaping the Future of Radio from the Heart of Flirt FM
Love may have filled the airwaves last week for Valentine's Day, and we've just c...
20/02/2026
NEW YORK - February 10, 2026 - An estimated 125.6* million viewers watched Super Bowl LX on Sunday, February 8, according to Nielsen's Big Data Panel meas...
20/02/2026
NEW YORK - February 19, 2026 - Nielsen today shared updated and final Super Bowl...
20/02/2026
Share
Copy link
Facebook
X
Linkedin
Bluesky
Email...
20/02/2026
A leading global investment bank, with offices at Two International Finance Centre in Hong Kong, partnered with systems integrators Global Vision Engineering (G...
20/02/2026
Rise AV and Rise Broadcast, the global not-for-profit organisations dedicated to improving gender diversity across technical industries, have today announced a ...
20/02/2026
Open Broadcast Systems, the leader in software-based professional video transport, has added support for 200 Gigabit Ethernet to its range of encoders and decod...
20/02/2026
Signiant today announced the formation of its Customer Advisory Board (CAB), bringing together a select group of customers to collaborate on product strategy, r...
20/02/2026
PTZOptics today announced the launch of its Visual Reasoning initiative that makes video more actionable by combining robotic PTZ camera systems, AI, and open i...
20/02/2026
Amino, a global media technology provider delivering devices, software and cloud services that simplify and elevate video delivery, today announced the successf...
20/02/2026
SMPTE , the home of media professionals, technologists, and engineers, today announced its call for technical papers for the SMPTE 2026 Media Technology Summit....
20/02/2026
Wowza Media Systems today announced that Granicus, a leading provider of digital engagement solutions for governments, continues to rely on Wowza to power its h...
20/02/2026
Share
Copy link
Facebook
X
Linkedin
Bluesky
Email...
20/02/2026
Share
Copy link
Facebook
X
Linkedin
Bluesky
Email...
20/02/2026
Share
Copy link
Facebook
X
Linkedin
Bluesky
Email...
20/02/2026
Share
Copy link
Facebook
X
Linkedin
Bluesky
Email...
20/02/2026
Share
Copy link
Facebook
X
Linkedin
Bluesky
Email...
20/02/2026
Share
Copy link
Facebook
X
Linkedin
Bluesky
Email...