Oink
For Nuke users

For Nuke users

What is the same as Nuke, what is different, and what is not built yet.

raw .md

Oink is built so that a Nuke artist can sit down and work: the same node names, knob names, defaults, keyboard shortcuts and layout, and it reads and writes .nk scripts.

The same as Nuke

  • Layout. The Compositing workspace: Viewer top left, Node Graph bottom left, Properties on the right, node toolbar on the far left, grouped like Nuke's (Image, Draw, Time, Channel, Color, Filter, Keyer, Merge, Transform, 3D, Deep, …).
  • Keys. Nuke 17's shortcut table, and a key goes to the panel under the mouse. Tab search, R/W/G/B/M/T/C/K/O node keys, 1–9 viewer inputs, D disable, Y splay, Ctrl+G group, F5 render, J/K/L playback. See Keyboard shortcuts for exactly which keys work.
  • Nodes and knobs. Node classes and knob names follow Nuke (Grade's blackpoint, whitepoint, multiply, gamma; the standard channels, mask, (un)premult by and mix knobs on colour and filter nodes). Where our internal name differs, the .nk mapping translates it (Grade white is our gain); each node page lists the Nuke knob next to ours.
  • Maths. Merge operations follow the formulas in Foundry's Merge reference; Grade uses Nuke's formula. Everything is 32-bit float, scene-linear and unclamped until the display.
  • Coordinates. Nuke's pixel convention: origin bottom left, y up. Bounding boxes, formats and data windows behave like Nuke's (see Bounding box).
  • Scripts. .nk files open, import and export, including Groups, gizmos, user knobs, expressions and Tcl. See .nk import and export.
  • Python. A nuke module with the familiar API, menu.py / init.py on the plugin path, and a Script Editor. See Python.
  • BlinkScript and OFX. Blink kernels run on the GPU; OpenFX plugins load as nodes. See BlinkScript and OFX.

Different from Nuke

NukeOink
comps are .nkcomps are .oink (plain-text JSON); .nk is for exchange (File › Open / Import / Export Nuke Script)
Qt interfacea web-based interface; Python panels (nukescripts.PythonPanel) dock inside the app, while PySide tools open as floating windows from a separate Qt helper (see Python)
Viewer process / input processthe Viewer applies an OCIO display and view chosen in the Viewer header; you can name an input process node in the Viewer settings and switch it on with the IP button (Alt+P)
NukeX / Studio licencesone app; CameraTracker, LensDistortion, Deep, the AI nodes and 3D are all included. The editorial side (timeline, conform, review) is the separate Oink Review app
CopyCat, Smart Vector and similarthe AIR group: Train, AIVectorGenerator, AIRoto and more, running local open models (see AI tools)
—extra renderers in 3D: CyclesRender (built in, no Blender needed), EEVEERender (optional Blender bridge), HydraRender; Cycles, Karma and Storm also render live inside the 3D Viewer (see 3D)
3D control type default: Nukedefault: Maya (Alt+left tumbles). Switch to the Nuke, Houdini, Lightwave or Modo scheme in Preferences > Panels > Viewer Handles
Blender not involvedno Blender needed; .blend files, EEVEE and a few Cycles passes work when you add it (see Engines)

Not built yet

Some Nuke features are missing. Their keys and menu items are still there but show "Not available yet" in the status bar. Among them: paint strokes in RotoPaint (its Roto shapes work), saving and deleting custom workspaces, Select Similar, Capture and monitor out, and a few Roto tool modes. Nuke nodes with no equivalent import as Unsupported placeholders and are written back unchanged.

Built since earlier versions: Project Settings (S) and Preferences, Precomp, clones, StickyNote, Flipbook, proxy mode, and per-view knob values for scripts with several views.

Where to look up a Nuke node

The Nuke node map lists every Nuke class that imports as a node here.

On this page