Maya has a large array of functionality and its uses reach from game creation, over movie production and to architecture visualizations.
Its extensibility and wide spectrum of customization are properties which help define the software as an industry standard. There are many third party applications that can be found on the Internet that help to extend/improve Maya’s functionality.
- QT Designer
With Maya and an application called QT Designer it is possible to create your own customized plugins. Of course you could just do everything with Mel-Script or Python, but with QT you receive instant visual feedback and can sketch your interface layout before connecting it with Maya. QT is using a WYSIWIG styled method of representation similar to Adobe Dreamweaver.
Before writing your own tool it may be helpful to think about what projects you are working on and which tasks can be automated. Researching online beforehand may save you some time if the script / plugin already exists. Caution is advised because not every software out there is stable and may damage your system.
Maya Python and Notepad++
Inside the Maya script editor the core functionality of the plugin is written, the programming language python can be used to achieve this. Python is an object oriented cross platform programming language used in many situations, one of them is scripting plugins another could be memory management. Depending on the amount of features you are going to have more or less lines of code are most likely going to be wrapped up in functions called “def” (in more extensive packages coders might also use classes to bundle up functions).
The more code you have the more organized you should be. Weather you use Notepad++, Eclipse (has implemented build features) or another third party software for your code is a personal preference. It is also good practice to comment (In python this achieved with the hashtag “#”) every new function written in case other coders have to make adjustments to the existing code.
QT Designer (freeware) consists of a Widget Box (in the left column) with lots of different yet frequently used components you will recognize from websites and other day to day software which, you can simply drag and drop on to your layout (Form Previewer). On the right side you have a hierarchy (Object Inspector) of items on your layout, with Parent/Child relationships. With Ctrl + R you call the preview mode and see how the final results would look.
An initialization node is required for Maya to call the plugin, it is good practice to keep both the Python script, QT File and initialize file in the root of the project. The bulk of the python script should be kept I separate file.
To execute your plugin you can just save a link on your shelf to the run the call script located in a python tab inside the script editor.
Img 01 QT Designer – Image from QT
Just below the OI lives the “Property Editor” this is where you can make the dynamic connections between QT and Maya, these connections are referred to as signals.