Nuke Tips – The B Pipeline

nuke_b_pipe

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
}

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.