
In Nuke, whenever you have any nodes that have A and B input, usually the operation will involve processing A over B.
Therefore by disabling the node function, we allow input B to pass down through the pipeline operation as input A will be blocked from being processed by Nuke.
By configuring B to keep going down the pipeline, we can easily identify the purpose of the node by simply disabling it and see the result in viewer.
Below is a simple script example to demonstrate the B pipeline process. Just disable any of the merge node to observe how the B input will pass on to the next merge node operation in the viewer.
set cut_paste_input [stack 0]
version 8.0 v5
StickyNote {
inputs 0
name StickyNote2
label "By keeping A\nto the left of\nthe B pipe,\nyou can attach\nany alpha to\nthe mask input\nthat is found in\nthe right side of\na node."
note_font_size 24
selected true
xpos 145
ypos 72
}
StickyNote {
inputs 0
name StickyNote3
label "This is to ensure\na clean script\nlayout without\nhaving spider\nweb layout."
note_font_size 24
selected true
xpos 362
ypos 71
}
StickyNote {
inputs 0
name StickyNote1
label "Disabling any nodes that\nhave A over B will result\nin B piping in \nthe downstream."
note_font_size 24
selected true
xpos 5
ypos -281
}
Roto {
inputs 0
output alpha
curves {{{v x3f99999a}
{f 0}
{n
{layer Root
{f 0}
{t x44800000 x44428000}
{a}
{curvegroup Bezier1 512 bezier
{{cc
{f 8192}
{px 1
{0 0}
{x4452ffff x44bf0000}
{0 0}
{x40800000 0}
{x444a0001 x44620000}
{xc0800000 0}
{0 0}
{x43740000 x44320002}
{0 0}
{0 0}
{x444d0000 x44000001}
{0 0}
{0 0}
{x44530000 x41e00000}
{0 0}
{0 0}
{x44908001 x43e80000}
{0 0}
{0 0}
{x44ca7fff x4383fffe}
{0 0}
{0 0}
{x44ac7ffe x441ffffe}
{0 0}
{0 0}
{x44da8001 x44830000}
{0 0}
{0 0}
{x44940001 x447afffd}
{0 0}}} idem}
{tx 1 x4489cccd x442db333}
{a osw x41200000 osf 0 str 1 spx x44800000 spy x44428000 sb 1 tt x40800000}}}}}}
toolbox {selectAll {
{ selectAll str 1 ssx 1 ssy 1 sf 1 }
{ createBezier str 1 ssx 1 ssy 1 sf 1 sb 1 tt 4 }
{ createBezierCusped str 1 ssx 1 ssy 1 sf 1 sb 1 }
{ createBSpline str 1 ssx 1 ssy 1 sf 1 sb 1 }
{ createEllipse str 1 ssx 1 ssy 1 sf 1 sb 1 }
{ createRectangle str 1 ssx 1 ssy 1 sf 1 sb 1 }
{ createRectangleCusped str 1 ssx 1 ssy 1 sf 1 sb 1 }
{ brush str 1 ssx 1 ssy 1 sf 1 sb 1 }
{ eraser src 2 str 1 ssx 1 ssy 1 sf 1 sb 1 }
{ clone src 1 str 1 ssx 1 ssy 1 sf 1 sb 1 }
{ reveal src 3 str 1 ssx 1 ssy 1 sf 1 sb 1 }
{ dodge src 1 str 1 ssx 1 ssy 1 sf 1 sb 1 }
{ burn src 1 str 1 ssx 1 ssy 1 sf 1 sb 1 }
{ blur src 1 str 1 ssx 1 ssy 1 sf 1 sb 1 }
{ sharpen src 1 str 1 ssx 1 ssy 1 sf 1 sb 1 }
{ smear src 1 str 1 ssx 1 ssy 1 sf 1 sb 1 }
} }
toolbar_brush_hardness 0.200000003
toolbar_source_transform_scale {1 1}
toolbar_source_transform_center {1024 778}
colorOverlay {0 0 0 0}
lifetime_type "all frames"
motionblur_shutter_offset_type centred
source_black_outside true
createNewTrack {{-1} "-1\t(none)\t-1" "1000\tNew Track Layer\t1000"}
name Roto1
selected true
xpos 30
ypos 140
}
CheckerBoard2 {
inputs 0
name CheckerBoard1
selected true
xpos -268
ypos 122
}
ColorWheel {
inputs 0
gamma 0.45
name ColorWheel1
selected true
xpos -265
ypos -71
}
push $cut_paste_input
Ramp {
p1 {100 796}
type plinear
color {1 0.131032 0.606682 1}
color_panelDropped true
name Ramp1
selected true
xpos -263
ypos -212
}
Premult {
name Premult2
selected true
xpos -263
ypos -161
}
Constant {
inputs 0
channels rgb
color 1
name Constant1
selected true
xpos -114
ypos -278
}
Merge2 {
inputs 2
name Merge2
selected true
xpos -114
ypos -161
}
Merge2 {
inputs 2
name Merge1
selected true
xpos -114
ypos -47
}
Merge2 {
inputs 2+1
name Merge3
selected true
xpos -114
ypos 146
}
Viewer {
frame 1
input_process false
name Viewer1
selected true
xpos -114
ypos 422
}

