After Effects and Nuke

I have been paying for an Adobe Creative Cloud subscription for around a year now. In order to help justify this expense, I’ve given myself a goal to learn the other programs in the suite that I don’t yet use (I primarily use Illustrator, Photoshop and Acrobat).

I started with Premiere. Coming from Final Cut (before the “X” version which seems to have turned it into a toy), the user interface initially felt very different. However, even just going to one tutorial on manipulating the interface, it seems that Premiere and Final Cut are very similar programs. They both have a very similar model, and how it is presented mostly the same. After getting used to clicking on different things and a few different keyboard shortcuts, I’m able to make pretty good use of it.

After Effects

Using After Effects took a bit more learning. For one thing, the user interface and keyboard shortcuts seem needlessly different from those in Premiere. It has taken some getting used to basic differences, such as moving from frame to frame. However, most of the learning curve has been to understand the underlying data model.

The basic unit of composition in AE is the “composition”. A composition is similar to a sequence in Premiere, except that, well, it isn’t a sequence. It consists of a number of layers of various kinds of items: Text, Solid (solid colors), Light, Camera, Null Object, Shape, Adjustment, and a few others. Importantly, a layer can contain another composition (which they call a “precomposition”). There is even a handy tool to take a selection of layers and move them into a new composition.

The layers within a composition are combined using one of about 40 different modes. In addition, the effects with a layer combine using a similar set of modes.

What this means is that a given composition forms a shallow tree, with the layer objects as the leaves, the effects operating and combining on each layer, and then all being combined into the composition. With nesting, the data can be formed into an arbitrary tree.

Nuke

While digging around to learn more about compositing, I discovered that Nuke has a free non-commercial version of their software. Since Nuke has pretty much become industry standard, I thought this would make a good opportunity to learn how it works.

Although it is free for non-commercial use, there are some limitations that would make it less useful to me for what I’m producing. It is limited to 1920x1080 for output, and more significantly, the free version doesn’t support most video codecs. It is said this is due to licensing reasons (and it being a free version). Nonetheless, the only way I am able to experiment with it is to transcode the video into a per-frame format. It seems that convention is to use a directory of frame-numbered single-image files, often with many more channels than just rgba.

Nuke has a very different feel. First, it is pretty obvious that Nuke started life as a Unix application, not as a Windows or Mac application. I’ve used plenty of Unix apps, and it isn’t exactly like After Effects is compliant with Mac GUI conventions anyway.

Underneath this, it’s data model is quite different as well. Instead of a specific organization of a shallow tree that the AE layered composition gives you, Nuke allows you to create from many types of nodes, and use a basic graph editor to determine their connectivity. I can see how, beyond fairly basic compositing, this is much clearer than using layers. It did feel a little more tedious to set up a simple composition, although there are likely shortcuts and scripting I’m not yet aware of. The free version is also limited in terms of the available scripting, so it may just not be visible.

Comparing them

The first obvious comparison is price. The whole CC suite currently costs about $600 a year. Nuke is many times this price, although a little more complicated, since it can be purchased instead of rented. Just After Effects (which would be similar to Nuke or Nuke X) would only be $20 a month, compared to $671 for Nuke X. This pricing puts Nuke out of the picture for smaller productions, and especially indepent producers.

Learning a bit about these models, it is easy to ask the question: are they equivalent? The underlying operations between them are very similar. The basic compositing operations are just arithmetic. I haven’t played with the rotoscoping in Nuke enough to know how it compares. Most of the rest are plugin based, and often would be the same plugin (there are probably differences in the stock tools such as motion trackers).

Assuming feedback isn’t allowed in Nuke, this means comparing Nuke’s DAG vs AE’s tree. With nesting, it should be possible to represent any desired flow in either. A complicated flow would probably be a lot easier to understand and visualize in Nuke, and the nesting in AE would tend to put related items in very different parts of the interface.

One thing that does seem missing is using the same effect parameters in multiple places. For example, it seems easy in Nuke to feed a roto output to several different nodes. As far as I can tell, doing this in AE requires all of the effects to be in the same composition. There is a possibility of using scripting to migrate specific parameters from one composition to another, but I have not looked into this yet.

Conclusion

Based on my current understanding, I would say that Nuke is definitely a better choice for a large-scale complicated compositing job. It also has a lot more support for the kind of process that would happen in a large studio (splitting work across numerous artists, for example).

Although there is a free non-commercial version, I’m less motivated to learn it because of some of its limitations (especially that it can’t read the files that come from my cameras). It would also preclude me using the tool for my job.

In addition, Nuke isn’t really a tool for motion graphics. It seems that After Effects is more of a motion graphics editor that developed enough functionality to be used as a compositing tool. It is excellent for motion graphics, and pretty useful for the kinds of compositing I would likely be doing on my own.

About David Brown
Software engineer and Jazz musician, currently living in the Denver, CO area.
comments powered by Disqus