Master Controller Node
The master controller node is a special kind of script node that allows you to create visual widgets that you can display in the Camera view, and script to programmatically affect a character rig when manipulated by the user.
For information and examples on how to use the Master Controller node,
Connection
The Master Controller does not need to be connected to a node in order to work, unless it is scripted to affect nodes that are connected to it.
If a Master Controller is connected to a node, the node system it is connected to should ultimately end up connected to a Display node in order for the Master Controller to work.
If you configure the Master Controller's first (rightmost) input port to be a transformation (peg) input port, you can connect a peg to the Master Controller, and use this peg to move its widget around in the Camera view, allowing you to easily set the widget's default position in the scene.
Controls
The Master Controller can be scripted to display any one of the following kinds of controls in the Camera view:
Control | Appearance | Description |
---|---|---|
Slider | A slider that allows the user to slide a handle up or down. When manipulated, it provides a value between its minimum and maximum values. | |
2D Line Display | Displays a line going between two 2D Point widgets, make a "bone" type manipulator that can be moved by either end. | |
2D Point | A point that the user can freely drag around the stage. When manipulated, it provides its position. | |
3D Rotation |
A 3D sphere that the user can rotate in all directions. When manipulated, it provides an object with a rotation angle for each axis. |
|
X Rotation |
A circle that can be rotated around the x-axis. When manipulated, it provides a rotation angle. |
|
Y Rotation |
A circle that can be rotated around the y-axis. When manipulated, it provides a rotation angle. |
|
Z Rotation |
A circle that can be rotated around the z-axis. When manipulated, it provides a rotation angle. |
|
X Translation | An arrow that can be dragged along the x-axis. When manipulated, it provides an offset. | |
Y Translation | An arrow that can be dragged along the y-axis. When manipulated, it provides an offset. | |
Z Translation | An arrow that can be dragged along the z-axis. When manipulated, it provides an offset. |
Scripting Interface
To learn about the scripting interface used by the Master Controller node, refer to the Harmony Scripting Interface Reference.
Layer Properties
The Master Controller node is essentially a Script node with an extra layer of functionality in its scripting interface. Hence, its layer properties are very similar to that of the Script node. However, its most important tab is the UI Script tab. The script in this tab is executed when the layer is selected and the user clicks on the Show Control button in the Camera toolbar. This is where you can define which widget the node displays, and what happens when the user manipulates the widget.
Parameter | Description |
---|---|
Name | The name of the node as it appears in the Node View and the Timeline view. Each node must have a name that is unique to its containing group. |
Tabs | |
Attributes |
This tab allows you to set values for the attributes defined in the Specifications tab. |
Specifications |
This tab allows you to define the attributes as well as the input and output ports for the The
The
|
Softrender |
This tab allows you to write or link to a script that will be executed when rendering the node. NOTE Scripts in this tab are ignored by the Master Controller node. The Softrender tab is only executed by Script nodes.
|
Initialization |
This tab allows you to write or link to a script that will be executed when loading the scene. |
Cleanup |
This tab allows you to write or link to a script that will be executed when closing the scene. |
UI Script | This tab allows you to write or link to a script that will be executed when using the Show Control command while the node is selected. |
Extra Files |
This tab allows you to define folders or files from root directory of the scene that should be preserved when creating templates or saving the scene in a different location. Any asset, such as external scripts, user interface files, data files or images that the NOTES
|
Grid Wizard Attributes
Attribute | Description |
---|---|
Show Controls Mode |
|
widget_pos |
|
show_limits | If checked, the border lines of the grid master controller will show. If unchecked, the border will be hidden. |
label_screen_space | The label size stays static and won't be affected by the camera view's zoom factor. |
show_grid_lines | If checked, the master controller will display as a grid to match the grid you worked from in the Master Controller wizard. |
label | The label for your master controller displayed in the Camera View. |
label_font | The font for the label text. |
widget_size | The size of the widget in the master controller. |
label_size | The size of the master controller label |
widget_colour | The RBGA values for your widget. |
label_colour | The RGBA values for the master controller label. |
label_bg_colour | The background color of the master controller label. |
Slider Wizard Attributes
If you have created a Master Controller from the Master Controller Slider Wizard, then the following Attributes will display in the Attributes tab:
Attribute | Description |
---|---|
Show Controls Mode |
|
widget_pos |
|
Invert | If checked, the widget will have a starting position from the opposite side of the current position. |
Horizontal | If checked the slider will display horizontally. |
label_screen_space | The label size stays static and won't be affected by the camera view's zoom factor. |
interpolate_poses | When checked, there will be smooth transitions between the poses. |
Label | The label for your master controller displayed in the Camera View. |
label_font | The font for the label text. |
widget_size | The size of the widget in the master controller. |
label_size | The size of the master controller label. |
widget_val | The bezier function you may set to control the velocity of interpolations. |
frame_colour | The colour of the slider widget |
slider_colour | The colour of the slider |
label_colour | The RGBA values for the master controller label |
label_bg_colour | The background colour of the master controller label. |