The Master Controller is a node that is capable of generating custom on-screen manipulators, or widgets, which can be programmed to affect one or several elements in a scene when manipulated. They are created and configured entirely through the scripting interface of Harmony. This allows you to create controls that can manipulate any amount of elements in your scene based on specific algorithms, making their capabilities virtually infinite.
Several types of Master Controller widgets can be created:
- The Slider Widget creates a slider that the user can slide. When manipulated, it provides a value between its minimum and maximum values.
- The 2D Line Display widget displays a line going between two 2D Point widgets to make a "bone" type manipulator.
- The 2D Point Widget creates a point that the user can freely drag around the stage. When manipulated, it provides its position.
- The 3D Rotation Widget creates a 3D sphere that the user can rotate in all directions. When manipulated, it provides an object with a rotation angle for each axis.
- The X, Y and Z Rotation Widgets create a circle that can be rotated around the stage around its axis. When manipulated, it provides a rotation angle.
- The X, Y and Z Translation Widgets create an arrow that can be dragged along its axis. When manipulated, it provides an offset.
- The Custom Widget can be composed of one or multiple elements from other widget types, and the behavior of which when manipulated can be customized.
The end goal of master controllers is to give studios the ability to create tools that make it easy for scene planners and animators to manipulate rigs and objects in the way they were designed to be manipulated. Because master controllers are created using the Harmony scripting interface, they require a solid grasp on scripting in order to be made useful. Hence, rigging with the master controller should be done by project collaborators with experience in programming.
The following topics will introduce you to scripting for a Master Controller and provide examples of how to handle basic use cases. To learn about the full capabilities of the Master Controller, you should refer to the Master Controller Node section of the Harmony scripting API reference