LiQuidCrab

Nuke custom menu.py

Jun 4th, 2020
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.71 KB | None | 0 0
  1. #------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  2. #satyajeet's custom nuke settings
  3. # version 1.0.0
  4. # Date- May 24 2020
  5. #------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  6.  
  7. #Global imports
  8.  
  9. import nuke
  10. import nukescripts
  11. import os
  12.  
  13. #set .nuke directory
  14.  
  15. dir = 'C:\Users\tmi\.nuke'
  16. #nuke.pluginAddPath(dir)
  17.  
  18. #--------------------------------------------------------------------------------------
  19. import knob_scripter
  20. import stamps
  21. #--------------------------------------------------------------------------------------
  22. #SHORTCUTS
  23. #shortcut for tracker, set merge bbox to B by default
  24.  
  25. nuke.menu('Nodes').addCommand('Transform/Tracker', 'nuke.createNode("Tracker4").knob("shutteroffset").setValue("centered")', "ctrl+alt+t", icon= 'Tracker.png', shortcutContext = 2)
  26. nuke.menu("Nodes").addCommand("Time/FrameHold", 'nuke.createNode("FrameHold").knob("first_frame").setValue(nuke.frame())', "ctrl+alt+h", icon= "FrameHold.png", shortcutContext = 2)
  27. nuke.menu("Nodes").addCommand("Channel/Shuffle", 'nuke.createNode("Shuffle")', "ctrl+alt+s", icon="Shuffle.png", shortcutContext = 2)
  28. nuke.knobDefault("Merge2.bbox", "B" )
  29. nuke.knobDefault("Merge2.label", "pipe:[value bbox]")
  30. nuke.knobDefault("Copy.label", "pipe:[value bbox]")
  31. nuke.knobDefault("Transform.shutteroffset", "centered")
  32. nuke.knobDefault("ScanlineRender.shutteroffset", "centered")
  33.  
  34.  
  35.  
  36.  
  37. #switch merge operations
  38. def operationSwitcher():
  39.     ns = nuke.selectedNode()
  40.     if ns.Class() == "Merge2":
  41.            
  42.         if ns.knob("operation").value() == "mask":
  43.             ns.knob("operation").setValue("stencil")
  44.         elif ns.knob("operation").value() == 'stencil':
  45.             ns.knob("operation").setValue("over")
  46.         elif ns.knob("operation").value() == "over":
  47.             ns.knob("operation").setValue("plus")
  48.         elif ns.knob("operation").value() == "plus":
  49.             ns.knob("operation").setValue("difference")
  50.         elif ns.knob("operation").value() == "difference":
  51.             ns.knob("operation").setValue("mask")
  52.  
  53. nuke.menu("Nuke").addCommand('Switch operation', operationSwitcher, "ctrl+shift+m")
  54.  
  55. # switch bbox pipe in merge& copy node
  56. def pipeSwitcher():
  57.     ns = nuke.selectedNode()
  58.     if ns.Class() == "Merge2":
  59.         if ns.knob('bbox').value() == "union":
  60.             ns.knob("bbox").setValue("A")
  61.         elif ns.knob("bbox").value() == "A":
  62.             ns.knob("bbox").setValue("B")
  63.         elif ns.knob("bbox").value() == "B":
  64.             ns.knob("bbox").setValue("union")
  65.         elif ns.Class() == "Copy":
  66.             if ns.knob('bbox').value() == "union":
  67.                 ns.knob("bbox").setValue("A")
  68.             elif ns.knob("bbox").value() == "A":
  69.                 ns.knob("bbox").setValue("B")
  70.             elif ns.knob("bbox").value() == "B":
  71.                 ns.knob("bbox").setValue("union")
  72.  
  73. nuke.menu("Nuke").addCommand('Pipe switcher', pipeSwitcher, "ctrl+shift+b")
  74.  
  75. #copy premult shortcut ctrl+alt+k
  76. def  kPre_short():
  77.  
  78.     nc=nuke.nodes.Copy(from0='rgba.alpha', to0='rgba.alpha', label='pipe: [value bbox]')
  79.     nc.setInput(0, nuke.selectedNode())
  80.     nuke.nodes.Premult().setInput(0, nc).hideControlPanel()
  81.  
  82. nuke.menu('Nodes').addMenu('Channel').addCommand('Create Copy premult', kPre_short, 'ctrl+alt+k', icon='Copy.png')
  83.  
  84. #roto blur shortcut o
  85. def rotoBlur():
  86.     nr= nuke.createNode("Roto")
  87.     nuke.nodes.Blur(size=2, channel='rgba', label="[value size]").setInput(0, nr).hideControlPanel()
  88.  
  89. nuke.menu("Nodes").addCommand("Draw/Roto", rotoBlur, "o", icon= "Roto.png")
Add Comment
Please, Sign In to add comment