Nuke Defaults

June 25, 2024
No Alt

Senior Compositor

Derek Rein

https://derekvfx.ca

Out of the box Nuke's default configuration isn't very optimized for day to day work. When Nuke opens its looks first for a python script called init.py and second for a script called menu.py located in your home directory ~/.nuke.

Add the following code to your menu.py to set a sensible default configuration.

  • Bounding box defaults to B
  • Channels default to RGBA or RGB where appropriate
  • Shutter offset is set to centered on all transforms
  • Key values visible on the node label
  • Effective by default - for example, the mirror node will mirror on x by default which is what you'll want at least some of the time.

#default settings
import nuke

# TIME
nuke.knobDefault("FrameRange.label", "[value knob.first_frame] - [value knob.last_frame]")
nuke.knobDefault("TimeBlur.shutteroffset", "centered")
nuke.knobDefault("Retime.before", "continue")
nuke.knobDefault("Retime.after", "continue")
nuke.knobDefault("Retime.filter", "nearest")
nuke.knobDefault("Retime.label", "speed: [value speed]")
# CHANNELS
nuke.knobDefault("Remove.operation", "keep")
nuke.knobDefault("Remove.channels", "rbga")
nuke.knobDefault("Remove.label", "[value channels]")
nuke.knobDefault("Shuffle.label", "[value in]")

# COLOR CORRECT
nuke.knobDefault("EXPTool.mode", "0")
nuke.knobDefault("Gamma.channels", "rgba")
nuke.knobDefault("Colorspace.label", "[value colorspace_in] - [value colorspace_out]")
nuke.knobDefault("Colorspace.colorspace_out", "AlexaV3LogC")
nuke.knobDefault("Multiply.label", "[value value]")
nuke.knobDefault("Saturation.label", "[value saturation]")
nuke.knobDefault("Saturation.saturation", "0")
# CONVOLUTIONS
nuke.knobDefault("Denoise2.useGPUIfAvailable", "1")
nuke.knobDefault("Blur.channels", "rgba")
nuke.knobDefault("Blur.label", "[value size] px")
nuke.knobDefault("Dilate.channels", "rgba")
nuke.knobDefault("Dilate.label", "[value size] px")
nuke.knobDefault("FilterErode.label", "[value size] px")
nuke.knobDefault("Erode.label", "[value size] px")
nuke.knobDefault("Median.label", "[value size] px")
nuke.knobDefault("Soften.channels", "rgba")
nuke.knobDefault("Soften.label", "[value size] px")
nuke.knobDefault("Sharpen.channels", "rgb")
nuke.knobDefault("Sharpen.label", "[value size] px")
nuke.knobDefault("GodRays.channels", "rgba")
nuke.knobDefault("Defocus.channels", "rgba")
nuke.knobDefault("Defocus.label", "[value defocus]")
nuke.knobDefault("ZDefocus2.channels", "rgba")
nuke.knobDefault("VectorBlur.channels", "rgba")

# MERGE
nuke.knobDefault("Switch.which", "1")
nuke.knobDefault("Switch.label", "[value which]")
nuke.knobDefault("Dissolve.which", "1")
nuke.knobDefault("Dissolve.label", "[value which]")
nuke.knobDefault("Keymix.bbox", "1")
nuke.knobDefault("Keymix.channels", "rgba")
nuke.knobDefault("Merge.bbox", "3")
# TRANSFORM
nuke.knobDefault("Transform.shutteroffset", "centered")
nuke.knobDefault("TransformMasked.shutteroffset", "centered")
nuke.knobDefault("CornerPin2D.shutteroffset", "centered")
nuke.knobDefault("Tracker4.shutteroffset", "centered")
nuke.knobDefault("Card3D.shutteroffset", "centered")
nuke.knobDefault("Reconcile3D.shutteroffset", "centered")
nuke.knobDefault("Mirror.Horizontal", "1")
nuke.knobDefault("Mirror2.flop", "1")
# 3D
nuke.knobDefault("ScanlineRender.antialiasing", "3")
nuke.knobDefault("ScanlineRender.label", "[value samples]")
nuke.knobDefault("ScanlineRender.shutteroffset", "centered")
# MISC
nuke.knobDefault("Expression.label", "[knob expr3]")
nuke.knobDefault("Viewer.freezeGuiWhenPlayBack", "1")
nuke.knobDefault("NoOp.hide_input", "1")
nuke.knobDefault("DeepReformat.pbb", "1")
nuke.knobDefault("DeepReformat.resize", "none")
nuke.knobDefault("STMap.channels", "rgba")
nuke.knobDefault("STMap.uv", "rgb")
nuke.knobDefault("AdjBBox.numpixels", "100")
nuke.knobDefault("AdjBBox.label", "[value numpixels]")
nuke.knobDefault("Constant.channels", "rgba")
nuke.knobDefault("VectorDistort.label", "REF: [value reference_frame]")