Nuke is without a doubt an amazing compositing software and is capable of achieving just about anything. I’ve been using it a for a few years now and here’s some random pieces of useful information I’ve picked up along the way, both to help myself to remember and make life easier for others.
I don’t take credit for coming up with all of this stuff, most I’ve learned from other users on the internet and friendly coworkers. This site is just for passing along the information in an easy to understand format.
Render every Nth Frame
Need to preview just your comp but don’t have the time to render out it all? Try rendering every second, third of whatever frame instead. You can easily do this by adding a /*your number* to the render frame range. 150-700/5 for example would render every fifth frame of the given range.
Dealing with Chroma Subsampling
If you ever do keying work chances are you’ll come across footage that uses chroma subsampling to compress the files, usually using the YCbCr color space. The problems that arise from chroma subsampling are many but when it comes to keying the most obvious ones are the ugly blocky artifacts that appear on your alpha. You can’t get rid of them completely, but the following trick can help.
We’re going the blur the affected channels and to make sure we’re only touching the right ones, we’ll need do a quick color space conversion. Add two color space nodes, with the Out and In set to YCbCr respectively. Between these two add a Blur and make sure you only check the Green and Blue channels. Now it’s just a matter of tweaking your key with the blur, small values like 1-3px usually work best.
In case you want to learn more about Chroma Subsampling, wikipedia to the rescue: http://en.wikipedia.org/wiki/Chroma_subsampling.
Longer Recent Files -list
Tired of navigating to a specific folder because the comp you need is no longer on the Recent Files -list? There’s an easy fix for that, just open your menu.py in your Nuke folder and find this line:
m.addCommand("_&Recent Files/@recent_file1", "nuke.scriptOpen(nuke.recentFile(6))", "#+6")
Copy and paste it a few times and you’ll get exactly the as many of Recent Files as you want. Be sure to change the numbering for the hotkeys though.
Fix for ProRes color shift
There’s a bug in Nuke (as of 7.0v9) that causes a small color shift in Red and Green channels when you are reading in a ProRes-encoded mov-file, which is commonly used in Arri Alexa cameras. The difference is minor but can cause you a world of pain when your plates don’t match with the ones being used in color grading down the pipe.
As recommended by Arri, one workaround is to write out the file as a DPX sequence in another software but this is an annoying extra step most people would rather skip. So here’s what The Foundry suggests as a quick fix.
In your Nuke root directory you’ll find GlobalSettings.csv. Edit this file in WordPad or something similar and add the following lines to the end:
# Apple ProRes 4444
You need to start a new Nuke script for the changes to work, but that’s it. No more subtle but ever so annoying color mismatch.
Bezier instead of RotoPaint
Most of the daily roto operations are very simple in nature and using the default RotoPaint (introduced in Nuke 6) for every quick garbage mask is overkill. The old Bezier node is still a valid and significantly faster option to use.
But where to find the Bezier? While it can’t be found under any menu, it’s still in Nuke. Just hit X, type in Bezier and the node appears. This works fine but is kinda slow, so I recommend you map a keyboard shortcut to the command. Find the menu.py under plugins folder in your Nuke root directory and add the following line to the very end:
nuke.menu( 'Nodes' ).addCommand( 'Bezier', lambda: nuke.createNode( 'Bezier' ), 'p')
I’m using P as my shortcut but you can pick whatever you like. Just be sure to back up your menu.py before committing any changes.
Faster default settings for Blur
Blur is a node you use in just about every single comp and making it as fast as possible can mean the difference in making it to the deadline.
The default filter quality value of 15 is a bit much for most operations, so it’s a good idea to drop it down to something like 5. You can set this by adding this line to your menu.py file, found under plugins folder in your root directory.
nuke.knobDefault( 'Blur.quality', '5' )
You do need to increase the quality when doing large (20px+) blurs, but 5 is mostly fine.