This post includes some additional important support material for what was discussed in [Maya-Config] Phase I. I felt it needed a bit more elaboration than what I had time for. I will continue with Phase II next time.
Tag Archives: tools
[Maya-Config] Maya Environment: Phase I
How do you tame the beast that is your ever growing collection of mel, cpp/python plug-ins, and python scripts?
Curate a library of cross-platform, multi-language extensions!
Teach yourself how to setup a proper library of Maya tools by following the steps outlined here. This is by no means the only way to do it. [edit: This is strictly for learning purposes and not intended for production use, but by all means apply what you learn to your specific production needs at your discretion!] It can get as sophisticated as time permits and as your production demands. To put it simply, this is a great starting place for people wanting to learn some of the basics of how to manipulate your Maya environment. The techniques described are simple, however this isn’t a Maya beginner task so I assume the reader knows a bit about scripting, how to use a shell or command line, and other Maya internals of course. I am willing to break it down in further posts of course. There is a lot of information to go over so this topic will be have to be continued in a series of posts.
PyQt Makes Your Windows Dockable in Maya 2011
Maya 2011 adds PyQt bindings and dockControl command
…and this enables the docking of any custom window you create to the main maya interface. The UI can then be moved docked and undocked from anywhere TO anywhere. I immediately have embraced this godsend to the hellish Maya UI coding world. This isn’t really new news since Maya 2011 has been around for a little while now but I wanted to quickly share my code for making windows dockable. I have expanded my floating tools shelf to have a button that makes the UI dockable when you press it. The old window gets created in my userSetup and is not dockable until now that I added this command as a button to it.
The command gets called only when pressing the button and the command also stores the UI object’s names and specifics so that I can use it to modularly make more buttons on other UIs so that they can also be dockable. The whole key is being modular and not storing global variables which I consider messy.
If you’re gonna make a proc, that is easy
//Given a window name, a name to call the control, and placement in the main maya window,
//add the ability to dock the UI to the main maya UI.
global proc string jaDockUiCommand (string $winName, string $ctrlName, string $placement) {
global string $gMainWindow;
string $userPrefs = `internalVar -upd`;
string $mayaVersion;
string $buffer[];
int $numTokens = `tokenize $userPrefs "/" $buffer`;
$mayaVersion = `substring $buffer[5] 0 4`;
if ($mayaVersion == "2011")
{
string $layout1 = `paneLayout -configuration "single" -parent $gMainWindow`;
string $myDC = `dockControl
-allowedArea "all"
-area $placement
-content $layout1
-label $ctrlName`
;
control -e -p $layout1 $winName;
return 1;
}
return 0;
}
Maya: Online Event: Modular Animation & Rigging System
Rigging Dojo Interviews Jan Berger Creator of MCS
Previously I was baffled by MCS, the modular character system used for rigging and animating, and now one of my favorite rigging resources online, Rigging Dojo, is actually having a live online discussion via Vokle.com with the creator Jan Berger! This could be the next biggest thing to hit the rigging world in a long time, and it’s gonna be incorporated into Autodesk at some point. I’ll be tuning into the episode that takes an under the hood look at this technology for sure.
New Maya python/mel rigging tools from macaroniKazoo!
Hamish McKenzie (macaroniKazoo) has put out a new release of his tools, now written in Python as well as good ‘ol Mel–YAY! This is big news since it’s been a whole year since another version has been publicly released! It’s good to know that someone out there is still enthusiastic about sharing with the online community what he’s learned and developed over a long period of time. I hope to bring something as useful to the proverbial table one day. Guess I better keep hitting the books and learn from great the great ones! I feel like such a noob in comparison and it’ll take years to catch up with these guys.
Bungie Halo Reach: Pymel Scripting
Halo Reach is finally out and i’ve been on it almost every day since it came out this week. I am now a proud owner of the Legendary edition! Flame-on! Let’s hope I can keep up my work
Working on Halo even in a relatively limited fashion, not being on the Bungie team but Image Metrics, is quite satisfying.
Working a technical directing capacity on this game gave me a chance to further develop my pymel prowess and write some tools for me and another team member to use to integrate Reach scenes into our animation pipeline. Doing this drastically cut down the amount of time to process what seemed like close to a hundred scenes. Here are a couple of examples of pymel GUIs I put together to run the tools.
Check out these links on Reach:
- PyMel GUI I
- PyMel GUI II
- Do smell something cooking?
Maya.env Configuration of Variables Using “userSetup.mel”
userSetup.mel Tutorial Part 1: Theory and Practical Use
Difficulty: Novice
Do you not want your tools to be on your work computer? Do you need multiple users to use your tools without a lot of setup? This is the simplest and most reliable solution. You can keep your Maya installation directory clean and organized by storing your scripts, icons, shelves, plug-ins, tutorial example files, and the like in one accessible location on your hard drive or an external hard drive. Most of mine are on my thumb drive I bring with me everywhere and a backup lives on a portable hard drive. If you’re like me, you can’t live without your tools!
UPDATE: If you wanna know more advanced techniques, read Part 2.






