Some gizmos dynamically hide/show a number of knobs with the KnobChanged python callback. This is a good option to keep your gizmo’s UI clean, but can start to get very heavy when you have too many knobs to handle, and too many nodes inside your gizmo.

Instead, it can be cleaner to use Python Script Buttons to add/remove knobs/nodes from your gizmo to keep things fast, neat and tidy.

I whipped up the following example node, which you can download here, to see how this works.

Continue Reading "Dynamically add/remove knobs from gizmos"

I have just released the Nuke Icon Design Toolkit — a Nuke Script containing a style guide & examples, showing how to create icons that match Nuke’s theme.

It’s useful for recreating Nuke’s default icons at a higher resolution (for 4K monitors), or for creating future-proof icons of your own. It also includes 4K-friendly icon replacements for Nuke’s “Nodes” toolbar.

Download here!

There are two common ways you can expression-link knobs in Nuke.

  1. CTRL+Dragging one knob to another
  2. Right-clicking, choosing “add expression”, then typing your expression.

The TCL syntax for expression-linking knobs is simple: {node_name}.{knob_name}.

However, there are some knobs that are a little more difficult to expression-link. For example, a channels knob can only be linked to other channels knobs, by CTRL+dragging+dropping the = button between them. Additionally, there is no visible option to expression-link Pulldown Knobs, such as a node’s filter knob. However, we can solve these problems with a little bit of Python.

In the following example, we’re going to be expression-linking Transform2‘s filter knob to Transform1‘s filter knob. Let’s write one line of Python to help us do this in the Script Editor.

Continue Reading "Ben, how do I expression-link Pulldown Knobs?"

I’m excited to announce that I have just released a new course, aimed at introducing Compositors to GitHub!

If you are unfamiliar, Git is a powerful version control system, which supports the backbone of most modern VFX pipelines. Compositors like you are starting to embrace GitHub for finding and developing gizmos & python scripts, as well as version-controlling their .nuke directories.

Gone are the days where your Nuke preferences, toolsets, and menu.py have to be re-built at every new studio. Click here to get ahead of the curve, and introduce GitHub to your workflow today!

Unless you’re Compositing at Weta, Nuke’s Deep tools are quite barebones and don’t allow much flexibility. An issue I have commonly encountered is a lack of image filtering when DeepMerging two Deep images together, which causes crunchy edges. You could correctly argue that this comes from a lack of deep samples in rendered images, but this is often necessary to reduce render times out of lighting. When trying to DeepMerge certain furry characters into a scene with all sorts of things flying around, I encountered situations where fur was doing things fur…Continue Reading “A hack to filter DeepMerge operations.”