Render Pipeline
To become an expert compositor is to precisely understand the order in which actions are performed on an image, also known as the render pipeline. For the most part render order is plainly displayed in the Timeline and follows consistent rules:
- 2D layers are calculated from bottom to top of the layer stack.
- Layer properties (masks, effects, transforms, paint, and type) are calculated from top to bottom (twirl down to see the order).
- 3D layers are of course calculated based on distance from the camera; coplanar 3D layers respect stacking order and behave—relative to one another—like 2D layers.
In a 2D composition, After Effects starts at the bottom layer and calculates any adjustments to it in the order that properties are shown, top to bottom. Then, it calculates adjustments to the layer above it, composites the two of them together, and continues up to the top layer of the stack, while the properties of an individual layer render top to bottom (Figure 4.13).
Figure 4.13 2D layers render starting with the bottom layer, rendering and compositing each layer above in order. Layer properties render in the order shown when twirled down; there is no direct way to change the order of these categories.
So, although effects within layers always calculate prior to transforms, by applying an effect to an adjustment layer above, you guarantee that it is rendered after the transforms of all layers below it.
Track mattes (and blending modes) are applied last, after all other layer properties (masks, effects, and transforms) have been calculated, and after their own mask, effect, and transform data are applied. Therefore, you don’t generally need to pre-render a track matte just because you’ve edited it.
Optimize Previews and Renders
As I work, I organize portions of my master comp that I consider finished into their own subcomps, and if they require any render cycles at all, I prerender them. Failure to commit to decisions—keeping options open—costs time and efficiency. It’s as true in After Effects as it is in life as a whole.
Pre-rendering a subcomp does, however, lead to a decision about what happens after you render it.
Post-Render Options
Tucked away in the Render Queue panel, but easily visible if you twirl down the arrow next to Output Module, is a menu of three post-render actions. After the render is complete, you can choose
- Import: Simply imports the result
- Import & Replace Usage: Keeps the source comp but replaces its use—or that of any other element you choose instead—in the project
- Set Proxy: Adds a proxy to the source comp (or any other item you specify)
With either of the latter two, the Pickwhip icon adjacent to the menu can be clicked and dragged to whatever item in the Project panel needs replacement so that if you’ve already created a pre-render or proxy, you can replace it (Figure 4.14).
Figure 4.14 Virtually any Project item can be the target for replacement or a proxy; click and drag the Pickwhip icon to choose the item to be replaced by the render.
Proxies have the best potential to speed up your work on a heavy project, but not everyone likes them because their implementation complicates the rendering process.
Proxies and Pre-Renders
Any visual item in your Project panel can be set with a proxy, which is an imported image or sequence that stands in for that item. Its pixel dimensions, color space, compression, and even its length can differ from the item it replaces; for example, you can use a low-resolution, JPEG-compressed still image to stand in for a full-resolution, moving image background.
To create a proxy, context-click an item in the Project panel and choose Create Proxy > Movie (or Still). A render queue item is created and automatically renders at Draft quality and half-resolution; the Output Module settings create a video file with alpha, so that transparency is preserved, and the Post-Render Action uses the Set Proxy setting.
Figure 4.15 shows how a proxy appears in the Project panel. Although the scale of the proxy differs from that of the source item, transform settings within the comps that use this item remain consistent with those of the source item so that it can be swapped in for final at any time. This is what proxies were designed to do, to allow a low-resolution file to stand in, temporarily and nondestructively, for the high-resolution final.
Figure 4.15 The black square icon to the left of an item in the Project panel indicates that a proxy is enabled; a hollow square indicates that a proxy is assigned but not currently active. Both items are listed atop the Project panel, the active one in bold.
By default, the source file or composition is used to render unless specifically set otherwise in Render Settings > Proxy Use. Choosing Use Comp Proxies Only, Use All Proxies, or Current Settings options (Figure 4.16) allows proxies to be used in the final render. To remove them from a project, select items with proxies, context-click (or go to the File menu), and choose Set Proxy > None.
Figure 4.16 I typically set Proxy Use to Current Settings, but Use Comp Proxies Only lets you set low-res stand-ins for footage and full-res pre-renders for comps, saving gobs of time.
Similar to proxies, but with a different intended use, are pre-rendered elements. With a composition selected, choose Composition > Pre-render and a moving image file is set to render at Best quality, full resolution; the Import and Replace Usage is set for the Output Module.
You don’t have to follow this usage; I have made proxies behave as pre-rendered elements and set my Render Settings to Current so I can choose whether to use the proxy or re-render. Managing that process, however, adds an extra set of steps.
Background Renders
One way to get a lot more power out of After Effects is to improve upon the standard method of rendering, which ties up the application itself, and most of the machine’s processing power, for as long as is needed to output footage.
aerender
Almost any production system these days has multiple processors and cores, and this has opened the possibility of background rendering, which allows a render to occur in the background while you continue to work in the foreground.
The last edition of this book mentioned using the command line (in Terminal Unix shell on Mac or the DOS shell in Windows) to run aerender; to do this, you can locate it in your After Effects CS4 folder and drag it into the shell window; then press Enter to get the manual. Arguments in quotes can be added to the command aerender and the location string of the project file.
However, that’s a little complicated and involves typing in commands, not the favorite activity of most visual artist types. For that reason I highly recommend loading a free script from aescripts.com called BG Renderer into the Script UI Panels folder, also in the After Effects CS4 folder. This script automatically sets up the command line not only to render in the background, freeing the open application to be used for more work, but using extra commands such as nice to set the priority and number of processors that you specify.
Network Rendering
The aerender command is also key to third-party rendering solutions such as Rush Render Queue (http://seriss.com/rush/). These programs run scripts that manage the process of running aerender on multiple machines (Figure 4.17). The better applications among them, Rush included, are capable of far more than just straight-ahead renders; you can, for example, have one render wait until a certain time or for another one to complete before commencing, and you can automatically requeue renders that fail for any reason.
Figure 4.17 One look at Rush Render Queue’s UI will tell you you’re not in After Effects land anymore, but it’s plenty sophisticated at managing network renders from After Effects and the many other applications, 2D and 3D, that enable command line render management.
This type of software is not generally even implemented via a standard installer; required instead are the implementation skills of a system administrator or equivalent technical expert. Most larger facilities have just such a “geek” on staff, and many advanced After Effects users are themselves capable of setting this up in smaller studios.
Multiple After Effects Versions
Alternatively, you can open multiple versions of After Effects including the UI. Although memory intensive, this allows you to actually investigate, compare, and edit two projects at once, which is occasionally handy.
On a Mac, all you need to do is locate Adobe After Effects CS4.app in the Finder (most likely in Applications/Adobe After Effects CS4) and duplicate it (Cmd+D). You now have two versions of the application that will open separately, and you are free to render a project in one version while continuing to work in the other. Give one of them a unique name so you can tell them apart.
On Windows, you can open a second version of After Effects from the command line. From the Start menu, choose Run, type cmd, and click OK. In the DOS shell that opens, drag in AfterFX.exe from your Programs folder and then add “-m” (that’s a space, a dash, and m as in multiple). Voilà, a second version initializes. Write a .bat file and you can do all of this with a double-click. The same basic trick even works in the Mac Terminal.
Watch Folder
The slightly senile grandaddy of network rendering on After Effects is Watch Folder. File > Watch Folder looks in a given folder for projects ready to be rendered; these are set up using the Collect Files option. The help topic “Rendering on the Network: Using a Watch Folder” page includes everything you need to know, so there’s no reason to reiterate setup here.
Watch Folder is okay on small, intimate networks, but it has to be set up manually on each machine, and if anything goes wrong, it has to be re-queued. A single machine has so much rendering power these days, it is years since I’ve bothered using it even though my studio is about the right size for it: big enough to have several systems, small enough to have them all in the same physical space.
Adobe Media Encoder
Adobe Media Encoder is a dedicated render application for certain video formats, including Flash Video, H.264, MPEG-2, and Adobe Clip Notes. Choose one of these in Output Module settings and the Encoder reveals many specialized options having to do with that particular format.
Owners of Adobe Production Premium or Master Collection can also access Media Encoder from Premiere Pro, where it can perform multipass encoding (essential for the best quality compression) and Speech Search, this new ability to convert spoken words on the soundtrack to timed text. Each word shows up as a layer marker, theoretically making it easy to time footage that includes speech, a very cool concept.