Upon the release of After Effects CS5 in 2010, Adobe tried an interesting experiment: Part of the After Effects engineering team was split off to start work on major new features for CS6 with a 24-month time horizon, while the rest started work on AE CS5.5 before joining their compatriots in 2011 to also work on CS6. In addition, Adobe has a separate Dynamic Media Advanced Product Development Group, which has produced such major new features as Roto Brush (CS5), Warp Stabilizer (CS5.5), and the new 3D Camera Tracker (CS6).
As a result, After Effects CS6 is an important new release that has something for nearly every AE user. We're going to explore a number of those features here, starting with the most visible new one - the Ray-traced 3D rendering engine - and then moving onto the 3D Camera Tracker, Rolling Shutter Repair, Variable Mask Feathering, the Global Performance Cache, and other interesting bits. We'll be sharing pros, cons, preferred workflows, gotchas, and a number of tips that we hope will get you up to speed with this new release.
Ray-Traced 3D Rendering Engine
We have long advised our fellow motion graphics artists that they would be wise to learn a 3D program - or at very least, a 3D plug-in such as the excellent Zaxwerks Invigorator or ProAnimator. This is because until now, AE's own implementation of "3D" has actually been 2.5D: layers could be placed in 3D space, but had no thickness of their own. This is finally starting to change as of AE CS6 - but this release is just a first step along what we hope turns out to be a long and fruitful path.
As of After Effects CS6, you now choose which rendering engine you wish to use for 3D layers: the "Classic" renderer (formerly known as the Advanced renderer), which is the prior 2.5D engine, and the new Ray-traced 3D Renderer. When you choose the ray-traced renderer, you can now extrude and bevel text and shape layers (and bend - but not bevel and extrude - other pixel-based layers), and they gain additional Material Options in the areas of transparency and reflectivity. This new renderer also enables support for Environment layers: The ability to wrap a layer around your virtual 3D world, and have it show up in reflections.
The trade-off is the new renderer disables a number of 2D-ish features for 3D layers, including masks, effects, blending modes, layer styles, and track mattes: a limitation that hopefully goes away in the future, but which you have to live with for at least this release. You can only choose one 3D renderer per composition, and an Alert dialog appears when you first enable a comp to use the Ray-traced 3D Renderer:
The beveling options are pretty basic in this release: You only have a choice of a straight chisel ("angular"), rounded ("convex"), or scooped ("concave") shapes - nowhere near as flexible as Adobe Repouss©* in Photoshop or Zaxwerks Invigorator. The bevel always adds to the size of the underlying shape rather than cuts into it. You get the same shape for inner and outer bevels (although you can reduce the inner bevel size, to tackle problems with the insides of characters swelling shut) and for the front and back (with no current ability to disable the back bevel). On the plus side, the transparency parameters include Index of Refraction to simulate the distortions of light rays bending when they hit the interface between air and another material, and the reflection parameters include the ability to blur the reflection for satin, matte, and other restrained but classy looks.
(*By the way: Support for Photoshop Live 3D layers has been dropped in this release of After Effects. We know not many of you used it, as it was limited and slow to render, but for some it was the only way to import 3D models and get other Photoshop-generated geometry into After Effects.)
The subject of transparency and reflections leads directly to a discussion of render quality. In short, ray-traced 3D objects in After Effects are capable of looking exceptional: You can keep zooming in and never see faceting. However, noise can appear in transparent and reflective areas at the default settings - especially with blurred reflections. You need to dive into Composition Settings > Advanced > Options (the shortcut is to Command or Ctrl-click on the Renderer indicator in the upper right corner of the Comp panel) and play with the number of rays per pixel until you are satisfied the noise is no longer visible or distracting. More rays take a lot longer to render: An array of 3x3 rays (shown below left) means just 9 calculations per pixel, but is often not good enough; an array of 9x9 (shown below right) means 81 calculations per pixel, but often looks quite nice. The number of rays also affects motion blur with ray-traced 3D layers, while the Anti-Aliasing Filter popup affects sharpness versus aliasing for 3D object edges.
The subject of render quality directly leads directly to a discussion of rendering speed. The Ray-traced 3D Renderer can work either on your CPU alone (and is multithreaded, taking advantage of all of your available processor cores), or can use the NVIDIA OptiX library to render on CUDA-enabled NVIDIA video cards. If at all possible, you really, really want to use ray-tracing with an approved CUDA card: The difference will make or break this feature for many users. For example, a 48-frame-long animation of a reflective and transparent logo at 1920x1080 took 44:30 (min:sec) on a 12-core 2.93 GHz MacPro with an unsupported ATI Radeon HD5970 video card (the fastest the Apple Store currently offers); installing a previous-generation NVIDIA Quadro FX 4800 dropped that to 14:30; replacing it with a current-generation Quadro 4000 dropped it to 6:15. Installing a second Quadro 4000 - yes, After Effects can take advantage of multiple GPUs, as long as they're running the same version of CUDA - dropped the render time further to 3:37. (If you are having trouble getting AE CS6 to work with your card(s), make sure you've installed the latest CUDA driver - for example, 4.2.5 had some issues on the Mac.) As of the time of this writing, here is the current list of approved CUDA-enabled cards; check the After Effects Tech Specs page for updates:
Approved NVIDIA CUDA-enabled cards for Windows:
- GeForce GTX 285, GTX 470, and GTX 580
- Quadro CX, FX 3700M*, FX 3800, FX 3800M, FX 4800, FX 5800, 2000, 2000D, 2000M, 3000M, 4000, 4000M, 5000, 5000M, 5010M, and 6000
- Tesla C2075
Approved NVIDIA CUDA-enabled cards for Mac OSX:
- GeForce GTX 285
- Quadro CX, FX 4800, and 4000
(*M designates mobile solution for laptops and all-in-one computers)
Fortunately, that list is nearly identical for Premiere Pro CS6 (Premiere Pro also supports OpenCL on a few MacBook Pros; AE CS6's Ray-traced 3D Renderer does not), plus NVIDIA Quadro is recommended for the OpenGL-based Adobe SpeedGrade CS6 which is now part of the Production Premium suite. After Effects CS6 has also reworked its list of Fast Previews options, including a Draft mode (1 ray), and Fast Draft (works on any OpenGL card at the cost of reflections and transparency). You'll find yourself working in one of the draft modes or with a low ray count initially, and then optimizing the quality right before you render.
Enough tech - lets get back to talking about visual capabilities. As mentioned above, you can extrude and bevel only vector-based text and shape layers in After Effects CS6. A new feature in After Effects CS6 allows you to convert other vector-based layers such as Adobe Illustrator files into shape layers. It's imperfect - gradients are currently unsupported, and tricky compound shapes might cause some issues - but this feature by itself is very welcome. Also remember that you can convert unflattened Photoshop text layers into After Effects text. The cool thing is, text and shape layer animation still works, so you can still twist or wiggle your shapes, or apply text Animation Presets:
Reflection map courtesy dvGarage.com
Adobe has extended the previous ability to add Text Animators or Shape Operators to also allow you alter specific Material Options for extruded shapes. For example, if you want the face of your text to be a different color than the bevels, sides, and back, you just add an Animator property, as shown below. (Yes, we said "just" - if you haven't already, you really should learn how to use Text Animators.) This means you can assign your per-surface modifications to a specific range or characters or shape group, and even animate these modifications through your text. Just remember to rename these Animators to something more descriptive than the default "Animator 1" and so forth; otherwise, you might run into problems when you later try to add an Animation Preset that already uses that name.
Ordinary pixel-based layers cannot be extruded and beveled. This is a major bummer, but somewhat understandable, as the pixel dimensions of a layer would impact how well its shapes could be converted in polygons - especially if it has an interesting alpha channel. However, these layers still support transparency and reflections, and can also be bent around their Y axis to produce more interesting reflections and specular highlights. At maximum bend, they form a shallow U; no, you can't uncurl a sphere, or create a page curl.
The other option mentioned is the ability to tag any layer as an Environment Layer. This wraps it around a virtual sphere enclosing your 3D world, and makes it available for reflections. You can choose whether it is visible in reflections and/or normally. Ideally, you want a seamless panoramic layer with a 2:1 aspect ratio. You also want it to be very large, as you see only a small percentage of it at a time: With the default 50mm camera, which has a 39.6 degree field of view, you only see 360 ÷ 39.6 = 9.1% of your image's width at a time. The animated text image above has a 2000x1000 pixel Environment Layer in an 872x486 pixel comp, meaning only 182 pixels of environment are being stretched across the entire comp's width; study the black circular object in the upper right corner to see the implications of this. For standard definition video, you may want to use at least 8k images, and larger for high-def - which in turn requires more VRAM on your video card. To take advantage of larger maps, also dive into Preferences > Previews > GPU Information and set the Texture Memory to a larger-than-default size, such as 80% of your card's total VRAM.
All of the above is probably leaving you feeling pretty ambivalent about the new Ray-traced 3D Renderer. In truth, we're actually excited about having this capability inside After Effects as can create some lovely imagery (and is integrated with other After Effects layers, including shadows and intersections); others are already creating photorealistic objects with it. We just want to make sure we properly tempered your expectations before you tried to create Avatar with it on a laptop without an NVIDIA GPU.
next page: 3D Camera Tracker; Rolling Shutter Repair; mocha AE integration; Variable Mask Feathering