Ben's Comp Newsletter: Issue 024


This week I've got a tutorial, a handy utility, a quick python tip and some automated roto solutions for you to learn about. Enjoy!

Easily control CurveTool's output to help match constantly-changing lights in your plate.

The CurveTool is invaluable for analyzing pixels in your image and spitting out data that animates relative to what's happening in your plate. Although, unless those values are exactly what you're after, they're pretty hard to control.

Many years ago I was working on a shot that was lit almost entirely by flickering fire light. The CurveTool was frustrating me, as the data it was spitting out seemed arbitrary and impossible to work with out of the box. So naturally, I made a utility gizmo to solve exactly this problem: bm_CurveRemapper!

Check out the tutorial I wrote on how you can use it in your workflow.
Click here to read the tutorial.

Easily enable all T-R-S checkboxes in your Tracker node

Have you ever created a Tracker node that requires a lot of track points? As displayed in the above gif, having to click the T, R and S boxes on each individual track point is a pain in the arse. Thankfully, there's a fix for that!

With my python script, all you need to do is select your Tracker node, run the script, and all those pesky little checkboxes will be enabled!

Note: there are 3 lines of code at the bottom of the script that you will need to cut/paste into your
Click here to get the Enable Tracker T-R-S Python script.

Quick Tip: Easily create legacy nodes via the Script Editor

Updated nodes in Nuke should be better than their predecessors, although that's not always the case. For example, I love that the latest VectorBlur node is GPU-accelerated, although I find it's output quite arbitrary; it never does what I expect out of the box, and I personally prefer the old version. 

A problem arises here, because the old VectorBlur is no longer in our menus. The good news is we can still access legacy nodes via the script editor!

nuke.createNode("VectorBlur") creates the old one. 
nuke.createNode("VectorBlur2") creates the new one. 

If this is something you do all the time, you're able to add the old nodes back into the Nodes menu, by placing the following code into your'Nodes').addCommand("Filter/VectorBlur Old", 'nuke.createNode("VectorBlur")', icon="VectorBlur.png")

In English, this is looking for the Nodes menu, then is adding an item we're calling VectorBlur Old, to the menu named Filter (if you want to create a new menu, type a name that doesn't exist). The second part of the code is our same nuke.createNode() function. Finally, the last part is setting an icon for the menu -- we're just using the existing icon for VectorBlur

Adobe's #ProjectFastmask

Automated roto is the holy grail tool for Compositors, and an insanely complex problem for programmers to solve. There are a few early-stage solutions out there today, but this one from Adobe really caught my eye.

The results aren't quite high enough for film production, although it seems incredibly useful and accurate-enough to aid in creating a fast matte for a temp comp, or a simple garbage matte. I'm curious to see more examples in action, but for now, check out the 5-minute demo from the Adobe MAX conference this year...
Click here to watch the #ProjectFastmask demo.

Did you find this newsletter informative?

Have you created, or do you know of any outstanding Gizmos, Python Scripts or Tutorials that you would like to share with the community? Please send me an email, and I will do my best to include it in a future issue of this newsletter.

Looking to get more out of Ben's Comp Newsletter? Consider pledging a small amount on Patreon to gain access to exclusive perks, make a difference to a meaningful charitable cause, and help keep this project running!
Support Ben's Comp Newsletter on Patreon
Thank you to the following supporters, who help make this newsletter possible:

Premium Contributor: Seb Tran
Click here to view previous issues