LIST OF KNOBS IN NUKE PT.1.

In this first part I would like to show the user knobs 

that you can create manually in Nuke.

The second part will list the knobs that you can

create using Python.

Why do you need this?

Getting familiar with the avilable building blocks of Nuke helps you 

to build dynamic templates, gizmos and to troubleshoot existing ones.

So it can help you to make tools more user friendly and projects more ogranized.

I decided to make this tutorial because currently the best page I found that

helped me to find the user knobs I needed is the

Foundry's NDK documentation which is somewhat

useful but many of them only avilable in NDK development

and to be fair some of them aren't as useful as it may seem.

But more on that in the second part.

Let's focus on the good part which is that you can create many user knobs

without using a single line of code too in 2 different ways!

How to add knobs manually using the

'Manage User Knobs...' option?

Before diving into all the avilable user knobs let's learn

how to create them! Despite showing a step by step guide here

If you want to dive into a matter deeper here's

the Foundry's doc.

001.jpg

You can right click on any node and select the 

'Manage User Knobs...' option. ( I show it on a NoOp to keep it simple )

002.jpg

It will bring up a new window and on the right side you will

have an 'Add' dropdown menu which brings up a list of 

knob types that you can add to your node.

003.jpg

Let's select the 'Floating Point Slider' - it will open up a new window.

You need to fill the 'Name' and the 'Label'. The 'Name' is what you will need to call the knob 

if you want to refer to it in an expression or in python. The 'Label' is what appears on the node itself.

It is recommended to keep these simple and similar to each other.

You can also include a 'Tooltip' which is a text that show up when you hoover your mouse over a certain knob and appears in a yellow textbox under the 'Name'.

004.jpg

Let's be very creative and call it 'slider' with a name appearing on the node 'Slider'.

005.jpg

After hitting 'Ok' you have a new knob added to your node

on the 'User' tab. Now you can select and 'Edit' the new additions.

If this is a first knob you add manually to your node it automatically creates a new User tab for it.

You can change its Label if you'd like.

How to add knobs manually using the

'enable knob editing' option?

Luckily there is also a new / quicker way to add knobs

since Nuke v11 introduced this feature.

manu_001.jpg

You can click on the little pencil icon on the Properties bin to enable knob editing. ( or Ctrl+Alt+E)

manu_002.jpg

When it's enabled it'll turn yellow and new icons appear next to it 

that are representing the avilable knob types.

manu_003.jpg

Let's start with drag & drop-ing the first item on the list which is the Floating Point Slider ( it shows 'double' on the label here first because technically the knob's name is Double_Knob which will be important in the second part of the tutorial )

manu_004.jpg

Here's our 'double' knob

manu_005.jpg

Let's see how it looks when we add all of them!

manu_006.jpg

There are 3 icons also next to the label of the knob:

With the yellow dot you can open the Edit window.

With the eye icon you can Hide the knob.

With the X you can delete.

manu_007.jpg

With the edit mode on you can also select and drag the knob to a different position.

List of knobs you can create manually

 

Floating Point Slider or double

( in Py: #7 Double_Knob )

man_001.jpg

2d Position Knob or position_2d

( in Py: #12 XY_Knob )

man_002.jpg

3d Position Knob or position_3d

( in Py: #13 XYZ_Knob )

man_003.jpg

Width/Heigh Knob or size_wh

( in Py: #14 WH_Knob )

man_004.jpg

Bounding Box Knob or bbox

( in Py: #15 BBox_Knob )

man_005.jpg

Size Knob or size

( in Py: not available )

Floating Point Slider is recommended to be used instead.

man_006.jpg

UV Coordinate Knob or uv

( in Py: #30 UV_knob )

man_007.jpg

Integer Knob or integer

( in Py: #3 Int_Knob )

man_008.jpg

RGB Color Knob or color_rgb

( in Py: #18 Color_Knob )

man_009.jpg

RGBA Color Knob or color_rgba

( in Py: #18 AColor_Knob )

man_010.jpg

Check box or boolean

( in Py: #6 Boolean_Knob )

man_011.jpg

TCL Script Button or tcl_button

( in Py: #32 Script_Knob )

man_012.jpg

Python Script Button or python_button

( in Py: #22 PyScript_Knob )

man_013.jpg

Pulldown Choice or pulldown

( in Py: #4 Enumeration_Knob )

man_014.jpg

Cascading Pulldown Choice or cascading_pulldown

( in Py: #68 CascadingEnumeration_Knob )

man_015.jpg

Command Menu or menu

( in Py: #35_Pulldown_Knob )

If you create with the 'edit user knob' approach it comes

with a pre-written command.

man_016.jpg
man_017.jpg

Text Input Knob or string

( in Py: #1 String_Knob )

man_018.jpg

Filename or filename

( in Py: #2 File_Knob )

man_019.jpg

Tab or tab

( in Py: #20 Tab_Knob )

man_020.jpg

Group or group

( in Py: #57 BeginTabGroup_Knob / EndTabGroup_Knob )

This knob contains 2 parts, the 'group' and the 'endGroup'. If you use the 'Manage User Knobs' window you need to put the knobs that you'd like a Group to contain by moving them Up and Down with the buttons on the side.

man_021.jpg
man_022.jpg

Text or text

( in Py: #26 Text_Knob )

The text you add to the 'Text:' dialog box will be featured on the node.

If the dialog box is empty it'll show a divider line.

man_023.jpg

Divider Line

( in Py: #26 Text_Knob )

Basically, this is a Text knob with an empty label.

man_024.jpg

Obsolete Knob

( in Py: #0 Obsolete_Knob )

It is a shell knob that can be connected with other functions made within NDK environment.

It has no UI therefore by unticking the 'Hide' will crash your Nuke.

For in depth on how to use it check here.

man_025.jpg

Hope you will find it useful!