Update: March 22, 2021
This gizmo is broken in Nuke 13, but it's okay! After almost 7 years (yikes), Nuke has added this feature to its native FrameHold
node.
The FrameHold
node in Nuke is one of my most commonly used tools when doing Roto/Paint/Clean-Up VFX work. When I'm creating patches to replace objects I've removed, I scrub through the sequence, looking for a frame that will work for my patch and, when I find one, I add a FrameHold
node and start working.
Since, 99% of the time, my play-head is sitting on the frame I want to use for my FrameHold
when I add the node, it would seem smart for the node to have the ability to grab that frame number, rather than requiring me to suffer the indignity of typing it into a parameter box.
I've created a gizmo called FrameHold_DS
that adds exactly one feature to the standard FrameHold
node; a "Use Current Frame" button. I submitted this as as feature request to The Foundry a few months ago, but why wait for a software update for such a simple feature.
As ugly as it is to use the "_DS" suffix for the node name, I wanted to make sure my version of the node would always show up in the Tab+Search
tool when I started typing "FrameHold".
To Gizmo, Or Not To Gizmo
I've mentioned, on numerous occasions, that I prefer to create ToolSets over Gizmos because of their ease of installation, modification, and general use. Well, one thing Gizmos can do that ToolSets cannot is automatically open their properties pane as soon as the node is added to the node graph. And since the entire point of creating a custom FrameHold
node is to make mine more efficient than the built in node, it would seem that use of a Gizmo is required to give this single-node-tool feature parity with the original.
To that end, here is the code required to add the Gizmo to the interface. Drop it into your menu.py
file in your .nuke
directory.
toolbar = nuke.menu("Nodes")
gzmos = toolbar.addMenu("Gizmos")
gzmos.addCommand("FrameHold_DS", "nuke.createNode('FrameHold_DS')")
And here is the link to download the Gizmo. Save it in the same .nuke
folder, with your menu.py
file.