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"

Some nodes in Nuke, such as the Particle Emitter or your favourite Camera Shake gizmo, have a random seed knob. This allows you to create a different variation of a setup using the same parameters on a given node. When these setups are used throughout a sequence, we often want to change up the random seed value so every shot matches an approved look, but doesn’t behave in exactly the same way.

When setting up a sequence template, you could expression link all random seed knobs to a NoOp-based control panel, but there is a better, more automated way to get a “random” value by default.

Continue Reading "Ben, how can I update Random Seed values in a template, automatically?"

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!

Happy New Year 🎉 As you know, I’m all about sharing knowledge & continuously improving my skills. It has been great to see so many Compositors start to create in-depth Nuke content in 2020 & 2021 — something that has been missing in our community for so long. To kick off the new year, I wanted to celebrate my favourite creators from the Nuke community, and share the tools I’ve been using most often. Creators & Websites I’m enjoying. Comp Lair (Pedro Andrade)Check out his…Continue Reading “My favourites of 2021!”

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?"

In Nuke, you’re able to dynamically change any knob’s value depending on if you’re looking through a Viewer in Nuke’s GUI, or rendering your Nuke script on a render farm. This can be useful to keep your Nuke scripts light & efficient while working, while automatically switching to more processor-intensive tasks at render time — for example, increasing motion blur render samples.

Continue Reading "Ben, how do I use $gui when rendering locally?"