The Composite

Week One – Intro to Nuke

Shortcuts for Nuke:

  • D: Disable/Enable a node
  • A: Auto-arrange nodes
  • Shift + X: Swap input connections
  • Viewer Controls
  • 1, 2, 3, … 9: Connect viewer to node (corresponding to number pressed)
  • F: Fit the image to the viewer
  • H: Home (reset viewer position)
  • R: Reset viewer to 1:1 zoom
  • Arrow keys: Pan the viewer
  • Playback Controls
  • L: Play forward
  • J: Play backward
  • K: Stop
  • Left Arrow/Right Arrow: Step backward/forward by one frame
  • Alt + Left Arrow/Right Arrow (Option on Mac): Step backward/forward by 10 frames
  • M: Merge node
  • G: Grade node
  • R: Read node
  • T: Transform node
  • S: Shuffle node
  • K: Keyer node
  • Shift + Click + Drag: Move node in node graph
  • S: Open project settings
  • Shift + Scroll Wheel: Adjust gamma

Press V for view

Press the image and then a number to connect it to the view. Eg. press the colourwheel and then press one so it will connect to the view node.

 

Week Two – Rotoscoping

Week Three – Complex Roto

Week Four: Basic Keying

Colour Dilation Node: 

set cut_paste_input [stack 0]
version 8.0 v6
push $cut_paste_input
Group {
name Colour_Dilation
tile_color 0xa69dc5ff
selected true
xpos -1339
ypos 855
addUserKnob {20 Dilate l “Dilate “}
addUserKnob {41 Amount t “A minus value dilates the edges more” T Multiply3.value}
addUserKnob {41 BlurDilation l “Blur Dilation” T Blur26.size}
addUserKnob {20 Notes}
addUserKnob {26 Tips -STARTLINE T “Input must have an alpha channel.\n\nIdeally premult after node”}
}
Input {
 inputs 0
 name RGBA
 selected true
 xpos -885
 ypos 429
 addUserKnob {20 DilateSize l “Dilate Size”}
}
Dot {
 name Dot19
 xpos -851
 ypos 495
}
set N27526c80 [stack 0]
Dot {
 name Dot20
 xpos -786
 ypos 495
}
set N2752aae0 [stack 0]
Transform {
 translate {1 0}
 center {1024 778}
 name TransformX2
 xpos -765
 ypos 532
}
push $N2752aae0
Merge2 {
 inputs 2
 operation minus
 name Merge12
 xpos -820
 ypos 572
}
Shuffle {
 red alpha
 green black
 blue black
 alpha black
 name Shuffle1
 xpos -820
 ypos 596
}
push $N2752aae0
Dot {
 name Dot21
 xpos -681
 ypos 495
}
set N2754fa50 [stack 0]
Transform {
 translate {0 1}
 center {1024 778}
 name TransformY2
 xpos -657
 ypos 531
}
push $N2754fa50
Merge2 {
 inputs 2
 operation minus
 name Merge19
 xpos -715
 ypos 571
}
Shuffle {
 red black
 green alpha
 blue black
 alpha black
 name Shuffle2
 xpos -715
 ypos 595
}
Merge2 {
 inputs 2
 operation plus
 name Plus1
 xpos -773
 ypos 632
}
Blur {
 size 5
 name Blur26
 label softness
 note_font_size 15
 xpos -773
 ypos 656
}
Multiply {
 value -10
 name Multiply3
 label “control dilate”
 note_font_size 15
 xpos -773
 ypos 712
}
push $N27526c80
Copy {
 inputs 2
 from0 rgba.red
 to0 forward.u
 from1 rgba.green
 to1 forward.v
 name Copy7
 xpos -885
 ypos 718
}
add_layer {rgb_extra rgb_extra.UV rgb_extra.r rgb_extra.g rgb_extra.b rgb_extra.a}
IDistort {
 channels {rgba.red rgba.green rgba.blue rgb_extra.UV}
 uv forward
 name IDistort2
 xpos -885
 ypos 815
}
Output {
 name Output1
 xpos -885
 ypos 915
}
end_group
 
Despill node
Week Five – Colour and Grading
 
Week Six – Tracking

 

Week Seven – Cleanup and Patch Repair
 

Week Eight – Complex Cleanup

Week Nine – Key Skills Recap

Week Ten – Advanced Keying

Group {
name PxF_ScreenClean
help “Clean chroma key background imperfections using a clean plate.”
tile_color 0x733520ff
addUserKnob {20 PxF_ScreenClean}
addUserKnob {4 screen_type l ScreenType t “The color of the chroma key background.” M {Red Green Blue “” “” “”}}
screen_type Green
addUserKnob {18 screen_color l ScreenColor t “The color that will be used to repair the chroma key background (usually the average color of the greenscreen on the plate).\n\nWhen using the color picker, use Ctrl+Alt+Shift to avoid looping values.”}
screen_color {0.85 0.1 0.85}
addUserKnob {6 screen_color_panelDropped l “panel dropped state” -STARTLINE +HIDDEN}
addUserKnob {7 mix t “Dissolve between the original (0) and the full effect (1).”}
mix 1
addUserKnob {26 “”}
addUserKnob {26 Credits l “” t “PxF_ScreenClean 2.0.5 – &copy; 2012-2023 – Xavier Bourque – pixelfudger.com \n\nPixelfudger gizmos are free to use for personal and commercial use as long as you leave the credit text intact in the gizmo’s knobs and in the source files. ” +STARTLINE T “<font size=2>PxF_ScreenClean 2.0.5 – &copy; 2012-2023 – </font><a href=\”http://www.xavierbourque.com\”><font color=\”#bbbbbb\” size=2>Xavier Bourque</a></font> – <a href=\”http://www.pixelfudger.com\”><font color=\”#bbbbbb\” size=2>pixelfudger.com</a></font> – <a href=\”http://www.pixelfudger.com/userguides/PxF_ScreenClean.html\”><font color=\”#bbbbbb\” size=2>Video Tutorial</a></font>”}
}
Input {
inputs 0
name mask
xpos 419
ypos 274
number 2
}
Input {
inputs 0
name plate
xpos 203
ypos -448
}
Dot {
name Dot1
xpos 209
ypos -347
}
set N6ece3800 [stack 0]
Dot {
name Dot2
xpos -64
ypos -202
}
Dot {
name Dot3
xpos -57
ypos 214
}
set N6ef00000 [stack 0]
push $N6ef00000
push $N6ece3800
Shuffle {
red blue
green blue
alpha black
name Blue
xpos 203
ypos -187
}
set N6ef00400 [stack 0]
push $N6ece3800
Shuffle {
red green
blue green
alpha black
name Green
xpos 112
ypos -179
}
set N6ef00800 [stack 0]
push $N6ece3800
Shuffle {
green red
blue red
alpha black
name Red
xpos 17
ypos -180
}
set N6ef00c00 [stack 0]
Switch {
inputs 3
which {{screen_type i x1 0}}
name High
xpos 17
ypos -99
}
push $N6ef00800
push $N6ef00c00
Switch {
inputs 2
which {{“screen_type == 0 ? 1 : screen_type == 1 ? 0 : 0” i x1 0}}
name LowA
xpos 145
ypos -108
}
push $N6ef00400
push $N6ef00800
push 0
Switch {
inputs 3
which {{“screen_type == 0 ? 2 : screen_type == 1 ? 2 : 1” i x1 1}}
name LowB
xpos 261
ypos -107
}
Merge2 {
inputs 2
operation max
name Merge1
xpos 217
ypos -59
}
Merge2 {
inputs 2
operation minus
name Merge2
xpos 116
ypos -20
}
Input {
inputs 0
name clean_plate
xpos 462
ypos -437
number 1
}
Dot {
name Dot4
xpos 530
ypos -235
}
set N6ef2e800 [stack 0]
Shuffle {
red blue
green blue
alpha black
name Blue1
xpos 570
ypos -194
}
set N6ef2ec00 [stack 0]
push $N6ef2e800
Shuffle {
red green
blue green
alpha black
name Green1
xpos 481
ypos -195
}
set N6ef2f000 [stack 0]
push $N6ef2e800
Shuffle {
green red
blue red
alpha black
name Red1
xpos 382
ypos -194
}
set N6ef2f400 [stack 0]
Switch {
inputs 3
which {{screen_type i x1 0}}
name High1
xpos 401
ypos -130
}
push $N6ef2f000
push $N6ef2f400
Switch {
inputs 2
which {{“screen_type == 0 ? 1 : screen_type == 1 ? 0 : 0” i}}
name LowA1
xpos 498
ypos -131
}
push $N6ef2ec00
push $N6ef2f000
push 0
Switch {
inputs 3
which {{“screen_type == 0 ? 2 : screen_type == 1 ? 2 : 1” i}}
name LowB1
xpos 592
ypos -128
}
Merge2 {
inputs 2
operation max
name Merge3
xpos 532
ypos -73
}
Merge2 {
inputs 2
operation minus
name Merge4
xpos 429
ypos -19
}
Merge2 {
inputs 2
operation divide
name Merge5
xpos 309
ypos 87
}
Clamp {
name Clamp1
xpos 309
ypos 114
}
push $N6ef2e800
Dot {
name Dot5
xpos 720
ypos -198
}
push $N6ece3800
Dot {
name Dot7
xpos 845
ypos -231
}
ColorCorrect {
gain 0
offset {{screen_color.r i} {screen_color.g i} {screen_color.b i} {1 i}}
name ColorCorrect1
xpos 817
ypos -159
postage_stamp true
}
Merge2 {
inputs 2
operation minus
name Merge6
xpos 692
ypos -24
}
Dot {
name Dot6
xpos 688
ypos 165
}
Merge2 {
inputs 2
operation multiply
name Merge7
xpos 309
ypos 166
}
Merge2 {
inputs 2
operation minus
name Merge8
xpos 309
ypos 215
}
Keymix {
inputs 3
invertMask true
bbox B
name Keymix1
xpos 309
ypos 299
disable {{“\[exists parent.input2] ? 0 : 1” i x1 0}}
}
push $N6ef00000
Dissolve {
inputs 2
which {{parent.mix}}
name Dissolve1
selected true
xpos 309
ypos 403
}
Output {
name Output1
xpos 309
ypos 503
}
end_group

AO1 Assessment: