Transform
Translates, rotates, scales and skews the image around the center point.
| Node | Transform |
|---|---|
| Menu | Transform › Transform |
| Names in each format | |
| .oink comp (JSON) | "type": "OC_N_transform" |
| .nk script | Transform, also imports TransformMasked (how .nk import works) |
| Python | nuke.createNode("Transform") |
| Assistant (MCP) | create_node(type="Transform") |
| Tab search | transform |

Inputs and outputs
| Port | Name | Type |
|---|---|---|
| input 0 | Image | image |
| input 1 | mask | image |
| output 0 | Image | image |
Knobs
Panel tab Transform, in panel order.
| Knob | Label | Type | Default | Range / values | .nk knob | Description |
|---|---|---|---|---|---|---|
channels | channels | menu | all | rgba, rgb, alpha, all, none | channels | Layer the op applies to: rgb, rgba, alpha, all, none, <layer> or <layer>.<ch> |
translate | translate | vector ×2 | 0, 0 | -2000 to 2000 | translate | |
rotate | rotate | float | 0 | -180 to 180 | rotate | Degrees, counter-clockwise |
scale | scale | wh ×2 | 1, 1 | 0 to 4 | scale | |
skew_x | skew X | float | 0 | -1 to 1 | skewX | |
skew_y | skew Y | float | 0 | -1 to 1 | skewY | |
skew_order | skew order | menu | XY | XY, YX | skew_order | |
center | center | vector ×2 | 960, 540 | 0 to 4096 | center | |
invert_matrix | invert | bool | false | invert_matrix | apply the opposite move. | |
filter | filter | menu | CUBIC | IMPULSE (Impulse), CUBIC (Cubic), KEYS (Keys), SIMON (Simon), RIFMAN (Rifman), MITCHELL (Mitchell), PARZEN (Parzen), NOTCH (Notch), LANCZOS4 (Lanczos4), LANCZOS6 (Lanczos6), SINC4 (Sinc4) | filter | how pixels are resampled, from impulse (no smoothing) through cubic (default) to Lanczos and Sinc4 (most sharpening, 4 px wide). |
clamp | clamp | bool | false | clamp | ||
black_outside | black outside | bool | true | black_outside | ||
motionblur | motionblur | float | 0 | 0 to 4 | motionblur | |
shutter | shutter | float | 0.5 | 0 to 2 | shutter | |
shutter_offset | shutter offset | menu | START | CENTRED (centred), START (start), END (end), CUSTOM (custom) | shutteroffset | |
shutter_custom_offset | custom offset | float | 0 | -1 to 1 | shuttercustomoffset | |
mask_channel | mask | menu | none | none, rgba.alpha, rgba.red, rgba.green, rgba.blue | Mask channel, e.g. rgba.alpha (none = no mask) | |
inject | inject | bool | false | Copy the mask into mask.a for nodes downstream | ||
invert_mask | invert | bool | false | invert_mask | ||
fringe | fringe | bool | false | Only apply the effect at the edges of the mask | ||
mix | mix | float | 1 | 0 to 1 | mix |
Other knobs (Python, .nk and the assistant; not on the panel)
| Knob | Label | Type | Default | Range / values | .nk knob | Description |
|---|---|---|---|---|---|---|
gl_color | Viewer Controls Color | float ×3 | 0, 0, 0 | 0 to 1 | ||
postage_stamp_frame | Static Frame | int | 1 | -2147483648 to 2147483647 | ||
lifetimeStart | Lifetime Start | int | 0 | -2147483648 to 2147483647 | ||
lifetimeEnd | Lifetime End | int | 100 | -2147483648 to 2147483647 | ||
useLifetime | Use Lifetime | boolean | false | |||
cached | Cached | boolean | false | |||
bookmark | Bookmark | boolean | false | |||
dope_sheet | Dope Sheet | boolean | false | |||
clone_group | Clone Group | string | ||||
link_source | Link Source | string | ||||
link_overrides | Link Overrides | string | ||||
split_views | Split Views | string | ||||
unpremult | (Un)premult by | enum | none | none, rgba.alpha | ||
invert_unpremult | invert | boolean | false | (Un)premultiply by 1 - alpha |
Knob names in .nk scripts
| .nk knob | Knob here |
|---|---|
skewX | skew_x |
skewY | skew_y |
shutteroffset | shutter_offset |
shuttercustomoffset | shutter_custom_offset |
Other .nk knobs use the same name here. See .nk import.
Examples
Open these from Help › Examples…, or from the ? menu in this node's Properties panel.
- Merge over (
examples/merge/merge_over.oink): A premultiplied CG render (CandleGlass, alpha 0 with non-zero rgb in places) scaled down and merged over a photo with Merge (over): A over B = A + B * (1 - A.alpha). - Transform: translate, rotate, scale (
examples/transform/transform_basics.oink): Transform works in Nuke pixels (y up, degrees counter-clockwise, around "center"). The Reformat first puts the photo in an HD frame so the rotated corners have room.