Various Scripting Notes and Files

Lately I've enjoyed working on little tool shelves or trays that organize some important portion of my workflows into small bundles of concise functionality. I'm particularly fond of cutting out existing nonsense and replacing it with my own.

Often my scripts main purposes are to reeducate future me in a much shorter time. Each new script becomes more practical and the colors, hopefully, less distracting (unlike my "Rainbow Autosave Bar'). I include this page on my website to pool my notes and scripts, to share the distinct interface style I've been using, and, in part, because so many of the programming resources I encounter on the internet are contained in decade-old posts archived by google.  Several of the above scripts can be downloaded below along with quick shelf icons for them. Hopefully they'll help someone.

So far I've actually taken turns scripting in MEL, Python, and Zscript, though I will almost always forget everything I know about them between projects. As such, my programming style tends to be overwritten, with fully spelled variable names and plenty of documentation. From time to time I also go through bizarre phases during which my function names will become increasingly abstract, with titles like "witchCauldron()" indicating a procedure in which mixing or combining occurs and "Apply Magic" being the title of a button that should never have existed in the first place. Luckily for future me's sanity, those tend not to be the best scripts (again, "Rainbow Autosave Bar" comes to mind) and are thus rarely referenced ever again.

At the moment only the more productive scripts are uploaded here. With a little digging they might be easily modified to suit your own needs and practices. Email me if you have any questions.

Test Function Tray - This is my personal workflow repository from the last set of projects I did in Maya. I use it to experiment with functions I suspect might be good to keep close at hand. The lower buttons have indicator lights that help visualize your toggling, though resetting the tool can sometimes offset the indicators. The face normals button, for example, toggles the normal visualizer on and off while the colored light beside serves a second purpose by actually reversing the normals. I personally use the Hide All and Show All functions a lot during early modeling or working with decimated reference meshes from zbrush that are only imported into the file as reference.

Duplication Assistant - This is a very small but helpful tray that mirrors an object over its X, Y, or Z axis as either a new object or an instance. This is an extremely dumbed down version of the more complex duplicate special window but they are very helpful when working on symmetrical models.

Divisory Board - Another small tool, the divisory board will cut the selected faces down their U or V axis into a specified number of cuts. The function it's based on only goes up to 8 so the tool could benefit from some way to divide into even greater numbers but for now it serves its purpose as a quick way to add edges to faces as you model. It's particularly helpful for maintaining exact fractions, cutting in exact half, thirds, quarters, etc.

Yet Another UV Tray - Everyone tends to use their own UV tools. There are automatic methods and manual methods and so many competent people who can get the job done with whatever tool they've chosen. I tended towards manual UVing in Maya at the time I wrote this script. Long ago I had the insight to set some built in stretch function to repeat 5,000 times in the X direction and made a set of tools out of it. I use this tray in conjunction with the standard UV editor. If you're looking for yet another UV tray to try, you're welcome to have a look at this quick one.

Disfunctional Rainbow Autosaver - Yeah, this did exist at one point. The idea was to create a strip of buttons that slowly pulse rainbow colors, speeding up and becoming brighter the longer you've gone without saving. Eventually, the bar becomes intensely distracting, interrupting you to force you to save. Or that was the idea. It does a good job at looking great, with live updates to its height, width, the number of buttons its divided into, and even to the rate that time increases. The down side is that I didn't understand computer ticks nearly as well as I ought to for such an active script. The computer was not happy, the saving was not hooked up to the interface properly, and the bar was much to psychedelic to get work done anyway. Some small piece of this glory can still be seen in the remnants of the file, though I have no intention of fixing it. Nonetheless, the script shows some of my early experimentation in querying and editing interfaces. Save your work first...