Table of Contents

Nuke Basic

action shortcut, cmd=ctrl
open node property double-click, cmd+click, return
open node property float cmd+double-click, cmd+alt+click
close all property alt+click on x on panel

Nuke Intro

Tracking in Nuke

Removal and Paint in Nuke

  1. prepare footage
    • grain/noise removal (denoise node)
    • stabilize
  2. choose clear reference frame
  3. get BBox coverage
  4. frameHold portions and paint node groups
  5. shape parts to relieve
  6. matchmove and add grain

Camera Track and Projection in Nuke

Nuke Python Script Intro

Where to enter the script

Where to view command history (like Maya “Echo all Command”)

Where to know the node or knob attribute name

How to know the node Class and Function

Ultimate solution: Python Panels

Nuke Python common syntax

Interact with Nuke GUI interface

ref: http://www.youtube.com/watch?v=JoniI7oRDaU

for the code not working, just clean the space and use tab to re-create the tabs

Tips: if you want to know the knob name, then hold Alt+drag it to script editor to show its reference name.

Nuke menu customization

  1. put menu.py in “.nuke” folder (which is under home directory)
  2. sample code of import a py file GUI tool in menu.py file
    import sys; sys.path.insert(0, "/myPythonScriptDir/dev/")
    import MyPythonFileNameOnly as myFirstGUI
    m = menubar.addMenu("MyCustMenu")
    m.addCommand("Menu Item Name", "myFirstGUI.go()")
    • menu.py can also be used to change/add menu shortcut (read reference)
    • menu.py can also be used to set node default setting (read reference)
  3. sample code of Python GUI tool for menu integration
    import nuke
    import nukescripts
     
    class myFirstGUI(nukescripts.panels.PythonPanel):
     
        def __init__(self, name):
            nukescripts.panels.PythonPanel.__init__(self, name)
            # gui preset
            newline = nuke.Text_Knob("")
            newline.setVisible(False)
     
            self.btn01=nuke.PyScript_Knob("firstBtn", "My button")
            self.addKnob(self.btn01)
     
            self.addKnob(newline)
            self.addKnob(nuke.PyScript_Knob("AskBtn", "Hello Button", "nuke.message(\"Done by Me v1.0! \\n\\nv1.0 usage:\\n- Do it.\")"))
        def knobChanged( self, knob ):
            if knob == self.btn01:
                print("cool")
     
    def go():
        mypanel = myFirstGUI("GUI cool v1.0")
        mypanel.show()

Python-Panel GUI design

My Nuke Python Script tools

Example of procedure GUI design

Example of Class like GUI design