Nuke Gizmos
Jump to navigation
Jump to search
Nuke Custom Gizmos
Normal Relight
//Custom adaptation from "V-Ray Relight" Gizmo by Alexandre Ribeiro. //Choose the channel of your Normal pass in "NameNormal". Root { inputs 0 frame 11 last_frame 16 lock_range true format "2048 2048 0 0 2048 2048 1 square_2K" proxy_type scale proxy_format "1024 778 0 0 1024 778 1 1K_Super_35(full-ap)" colorManagement Nuke workingSpaceLUT linear monitorLut sRGB int8Lut sRGB int16Lut sRGB logLut Cineon floatLut linear } add_layer {ShN ShN.red ShN.green ShN.blue ShN.alpha} Group { inputs 0 name Normal_Relight selected true xpos 840 ypos 86 addUserKnob {20 settings} addUserKnob {41 longitude T Constant1.longitude} addUserKnob {41 latitude T Constant1.latitude} addUserKnob {6 postmult l post-multiply +STARTLINE} postmult true addUserKnob {20 NameNormal} addUserKnob {41 in l "in 1" T Shuffle8.in} } Constant { inputs 0 channels rgb color {{sin(radians(longitude))*cos(radians(latitude))} {sin(radians(latitude))} {cos(radians(longitude))*cos(radians(latitude))} 0} format "256 256 0 0 256 256 1 square_256" name Constant1 xpos 180 ypos -105 addUserKnob {20 User} addUserKnob {7 longitude R -180 180} longitude 82 addUserKnob {7 latitude R -90 90} latitude 44.5 } set N5ac82000 [stack 0] Input { inputs 0 name Input1 xpos -36 ypos -202 } add_layer {VRay_Normals VRay_Normals.X VRay_Normals.Y VRay_Normals.Z} Shuffle { in ShN out VRay_Normals name Shuffle8 xpos -36 ypos -154 } Expression { channel0 {none none none VRay_Normals.Z} expr0 VRay_Normals.Z-(1-a) channel1 none channel2 none channel3 none name Expression1 xpos -36 ypos -118 } Unpremult { channels VRay_Normals name Unpremult1 xpos -36 ypos -71 } MergeExpression { inputs 2 expr0 Ar*BVRay_Normals.X expr1 Ag*BVRay_Normals.Y expr2 Ab*BVRay_Normals.Z channel3 none name MergeExpression1 xpos 21 ypos 2 } Expression { channel0 rgb expr0 r+b+g channel1 none channel2 none channel3 none name Expression2 xpos 21 ypos 54 } Premult { name Premult1 xpos 21 ypos 111 disable {{1-parent.postmult}} } set Na4942380 [stack 0] Output { name Output1 xpos 21 ypos 172 } push $N5ac82000 push 0 push 0 push 0 push 0 push 0 push 0 push 0 push 0 push $Na4942380 Viewer { inputs 10 frame_range 1-16 name Viewer1 selected true xpos 233 ypos 152 } end_group
Position Pass
// Select a specific zone to alpha from position pass. // This script comes from Jean-François Theault. set cut_paste_input [stack 0] version 10.5 v4 push $cut_paste_input add_layer {POSITION POSITION.red POSITION.green POSITION.blue} Group { name Group1 help "<b>P_Matte</b> creates a sphere or cube shaped 3D matte based on\na pass/layer containing position data" knobChanged "\nn = nuke.thisNode()\nk = nuke.thisKnob()\ns =\nnuke.toNode('SphereMatte')\nr = nuke.toNode('Start_End')\n\nif k.name()\n== \"falloffType\":\n n\['falloff'].setVisible( k.value() != 'None'\n)\n n\['exp'].setVisible( k.value() == 'Exponential' )\n\n" selected true xpos 2903 ypos 344 addUserKnob {20 User} addUserKnob {41 in l "position data" t "Choose a layer from the input\nthat contains position data" T Shuffle_Input_Channels.in} addUserKnob {41 output t "Resulting matte will be written to this layer\nonly" T OutChannel.out} addUserKnob {6 unpremultiply t "Check if your position layer is\npremultiplied" +STARTLINE} addUserKnob {6 useAlpha l "ignore outside alpha" t "If your input has\nan alpha channel, checking this will force everything outside that alpha\nchannel to be black" -STARTLINE} useAlpha true addUserKnob {26 ""} addUserKnob {4 matteShape t "Choose the shape of the 3D matte. Current\noptions are \"Sphere\" and \"Cube\"" M {Sphere Cube ""}} matteShape Cube addUserKnob {41 center t "Sample the viewer or copy XYZ coordinates\nhere to choose the center of the 3D sphere or cube" T Center.center} addUserKnob {26 ""} addUserKnob {41 rot_order l "rotation order" T Axis1.rot_order} addUserKnob {41 rotate T Axis1.rotate} addUserKnob {41 scaling l scale T Axis1.scaling} addUserKnob {41 uniform_scale l "uniform scale" T Axis1.uniform_scale} addUserKnob {41 skew T Axis1.skew} addUserKnob {41 pivot T Axis1.pivot} addUserKnob {26 ""} addUserKnob {4 falloffType M {None Linear Smooth Quadratic Cubic Exponential ""}} falloffType Exponential addUserKnob {7 falloff} falloff 1 addUserKnob {7 exp R 0.1 10} exp 0.1 } Input { inputs 0 name img xpos -828 ypos -353 } AddChannels { channels alpha color 1 name AddChannels1 xpos -828 ypos -259 } Shuffle { in POSITION alpha blue out rgb name Shuffle_Input_Channels xpos -828 ypos -198 } set N7196d60 [stack 0] Unpremult { name Unpremult1 xpos -646 ypos -198 disable {{!parent.unpremultiply i}} } Dot { name Dot2 xpos -326 ypos -193 } Add { channels rgb value {{-center i} {-center i} {-center i} {curve i}} name Center xpos -360 ypos -160 addUserKnob {20 User} addUserKnob {18 center} center {66.5625 10.0390625 -31.046875} addUserKnob {6 center_panelDropped l "panel dropped state" -STARTLINE +HIDDEN} } Add { channels rgb value {{-Axis1.world_matrix.3 i} {-Axis1.world_matrix.7 i} {-Axis1.world_matrix.11 i} {curve i}} name Translate_Pivot xpos -360 ypos -116 } ColorMatrix { matrix { {{Axis1.world_matrix.0 i} {Axis1.world_matrix.1 i} {Axis1.world_matrix.2 i}} {{Axis1.world_matrix.4 i} {Axis1.world_matrix.5 i} {Axis1.world_matrix.6 i}} {{Axis1.world_matrix.8 i} {Axis1.world_matrix.9 i} {Axis1.world_matrix.10 i}} } invert true name Rotate_Scale_Skew xpos -360 ypos -88 disable {{hasError i x200 1}} } set N71cf150 [stack 0] Expression { expr3 "(parent.useAlpha && a == 0.0 )? 0 : 1-max(abs(r),abs(g),abs(b))" name CubeMatte xpos -285 ypos -11 } push $N71cf150 Expression { expr3 "(parent.useAlpha && a == 0.0 )? 0 : 1-(sqrt((r*r)+(g*g)+(b*b)))" name SphereMatte xpos -442 ypos -12 } Switch { inputs 2 which {{matteShape i}} name Switch1 xpos -366 ypos 58 } Grade { channels alpha whitepoint {{falloffType?falloff:0}} white_clamp true name Falloff xpos -366 ypos 124 } set N7202600 [stack 0] Expression { expr3 pow(a,parent.exp) name Exponential xpos -81 ypos 229 } push $N7202600 Expression { expr3 clamp((a**3),0,1) name Cubic xpos -175 ypos 228 } push $N7202600 Expression { expr3 clamp(pow2(a),0,1) name Quadratic xpos -269 ypos 227 } push $N7202600 Expression { expr3 smoothstep(0,1,a) name Smooth xpos -366 ypos 230 } push $N7202600 NoOp { name Linear xpos -457 ypos 231 } push $N7202600 NoOp { name None xpos -557 ypos 231 } Switch { inputs 6 which {{falloffType i}} name Switch2 xpos -366 ypos 318 } Remove { operation keep channels alpha name Remove1 xpos -366 ypos 378 } Shuffle { in alpha out alpha name OutChannel xpos -366 ypos 439 } push $N7196d60 Dot { name Dot1 xpos -794 ypos 527 } Copy { inputs 2 from0 -rgba.alpha to0 -rgba.alpha channels all name Copy1 xpos -366 ypos 508 } Output { name Output1 xpos -366 ypos 637 } Axis2 { inputs 0 xform_order STR rot_order ZYX scaling {5 2.3 9} uniform_scale 0.36 name Axis1 xpos -86 ypos -102 } end_group
Push pixel
//Don't know the source of this custom Push pixel set cut_paste_input [stack 0] version 10.5 v7 push $cut_paste_input Unpremult { name Unpremult4 selected true xpos 180 ypos 3374 } Grade { channels alpha blackpoint 0.99 name Grade15 selected true xpos 180 ypos 3416 } Premult { name Premult1 selected true xpos 180 ypos 3470 } EdgeBlur { size 1 name EdgeBlur2 selected true xpos 180 ypos 3536 } Unpremult { name Unpremult11 selected true xpos 180 ypos 3590 } Expression { channel3 alpha expr3 "r == 0 ? 0 : 1" name Expression7 selected true xpos 180 ypos 3638 } EdgeBlur { size 2 name EdgeBlur3 selected true xpos 180 ypos 3704 } Unpremult { name Unpremult12 selected true xpos 180 ypos 3758 } Expression { channel3 alpha expr3 "r == 0 ? 0 : 1" name Expression8 selected true xpos 180 ypos 3806 } EdgeBlur { size 4 name EdgeBlur4 selected true xpos 180 ypos 3872 } Unpremult { name Unpremult14 selected true xpos 180 ypos 3926 } Expression { channel3 alpha expr3 "r == 0 ? 0 : 1" name Expression9 selected true xpos 180 ypos 3974 } EdgeBlur { size 8 name EdgeBlur12 selected true xpos 180 ypos 4040 } Unpremult { name Unpremult15 selected true xpos 180 ypos 4094 } Expression { channel3 alpha expr3 "r == 0 ? 0 : 1" name Expression10 selected true xpos 180 ypos 4142 } EdgeBlur { size 16 name EdgeBlur13 selected true xpos 180 ypos 4208 } Unpremult { name Unpremult16 selected true xpos 180 ypos 4262 } Expression { channel3 alpha expr3 "r == 0 ? 0 : 1" name Expression11 selected true xpos 180 ypos 4310 }