This has been a feature since Nuke 11.3v1, but I had no idea it existed until recently! In Preferences > Node Graph, there is a setting that enables a warning on a node when its bounding box is larger than a certain preset threshold. When enabled, the erroneous node will display a thick red border with a black dotted line around it; any downstream nodes that carry the large bbox will only display the black dotted line.

If you haven’t already, I recommend periodically switching this feature on and paying attention to any warnings that show, to ensure your Nuke scripts remain speedy and efficient! Although once you’ve optimized your bboxes, I would advise turning this feature off again, as it automatically processes every node every time you change frame, and can cause dramatic UI slowdowns on larger scripts…

Additionally, think about some knob defaults you can set on certain nodes to ensure your bbox stays small.
(e.g. create a shortcut that creates a Merge node, sets its ‘operation’ to mask and it’s bbox to A)

Lastly, with any node selected, you can run nukescripts.autocrop() in Nuke’s Script Editor to automatically reduce the size of your bbox to its optimal size.

Thanks to Conrad Olson for the tip!

A common complaint I hear among compositors, especially those working on large shots is: “My script is so slow”. There are many things to consider when trying to speed up a cumbersome script, but the sneaky culprit usually reveals itself in the form of a ReadGeo node importing geometry over the network. Even when you’re importing basic…Continue Reading “Quick Tip: Disable geo when you’re not using it.”

SmartVectors, and the associated VectorDistort node is one of the best new additions to Nuke in recent years. Being able to effortlessly track a texture to an organically-moving object is amazing when it works, but oftentimes SmartVectors only gets us part of the way there and needs refinement… By changing the VectorDistort’s Output knob to “st-map”, we gain the ability to modify SmartVectors in…Continue Reading “Quick Tip: Refine SmartVectors with an STMap.”

HTML is a programming language designed to view documents or websites in a web browser, although we can make use of it in Nuke to add some extra style to our nodes, gizmos, etc.

The aim of this article isn’t to teach you HTML, as that would be rather convoluted for what you need to know, but instead, I’ll share some easy snippets of code that will help you inside of Nuke!

Continue Reading "HTML in Nuke"

Something I’m endlessly frustrated by is having to work around the way Nuke uses confusing hex colour values in Python to do things such as set a node’s ’tile_color’ knob. For example, how are we supposed to remember that 0xff000ff = green? I wrote two simple functions to get around this, which I hope you can make use of too…

Continue Reading "Quick Tip: Programmatically Dealing with Hex Colour in Nuke"

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…Continue Reading “Quick Tip: Easily create legacy nodes via the Script Editor”

The ImagePlane gizmo is my favourite for speedily placing an object on a card in (pseudo)3D space. Rather than dealing with Nuke’s clunky 3D system, you can easily get a handful of atmospheric smoke elements layered up and in your shot! But that convenience of fast setup time comes at a price…

If you’ve got 2 or 3 elements to throw into your shot, ImagePlane’s are perfect! Although if you’re working on a mostly-CG shot that needs polishing up with a lot of 2D elements, it’s best you stick with the standard 3D Card, Camera & ScanlineRender setup. It’s more annoying and time-consuming to set up for sure, but it will prevent your Nuke script from chugging along at snail’s pace.

ImagePlane’s in vast quantities, especially with motion blur switched on, will take a huge toll on both your GUI’s interactivity & your Viewer’s processing speed.

Do you have a better way? Reach out and let me know!