Alex Widener

Technical Artist


Speeding up Maya Shutdown

Having a program take 30 seconds to close in 2015 in an age of SSDs is absurd. Autodesk wants to upload a bunch of information about your system and your experience and I don't want that. The following will disable crash reporting and the Customer Involvement Program. Edit your Maya.env file using Sublime Text or Notepad++ or your favorite text editor. On Windows, your Maya.env file will be here: C:\Users\YOURUSERNAME\My Documents\maya On OSX, your Maya.env file will be here: ~/Library/Application Support/Autodesk/ Insert the following lines: MAYA_DEBUG_ENABLE_CRASH_REPORTING = 0

Continue Reading

Dash Docsets

I've been making Docsets for Dash/Velocity/Zeal. So far I'm only making them as needed, and I've made them for: PyMel Blender Hiero I tried doing it for Nuke a few weeks ago and it didn't work out. I'll give it another shot next weekend. If you're on Zeal and you want to install them (on Linux) the path should be /home/username/.local/share/Zeal/Zeal/docsets If you're on Windows, find the path from File > Options > Docset Storage. If you're using Dash, you can just search for them through the normal installation method for user docs. I'm

Continue Reading

Sublime Text Plugin for building Modo commands, kits, and plugins

I wrote a plugin for Sublime Text that allows the user to create either a single Modo command/plugin or an entire kit from within Sublime. I've submitted it to Package Control, but as of the time of this writing, you can grab it from here Features: Automatically generate a single Modo command (goes to User Scripts/lxserv) Automatically generate a Modo kit (goes to Scripts) Both will open in Sublime after creation Launch TDSDK, PyAPI, or C++ Documentation Search TDSDK & PyAPI/C++ Documentation from within Sublime I thought this might be more useful for people because with the

Continue Reading
Motionbuilder, Python, code, Github

MotionBuilder Hotkey Editor

I've been using MotionBuilder a lot lately, and wanted to start writing code for it. I found a couple of things that I wanted to script, namely things that have to do with keyframes - things that should be tied to hotkeys. I figured out how MotionBuilder requires their users to set up custom hotkeys and bindings to scripts and found it to be pretty cumbersome for general users and technical users alike. If a user needs to do this, it breaks workflow and is really annoying to take care of. So what I did was attempt to take care

Continue Reading
Maya, Python, code, Unreal Engine 4, UE4, Animation, Rigging, ART, OSX, Githu

Converting Unreal Engine Art Tools to OS X

I am happy to say that I have created a port of the Unreal Engine ART Tools for OS X. For the past year, it's been a Windows-only asset, understandably since Epic is primarily a Windows studio - and the whole toolkit was developed by one person! I know what it's like to be the main person doing code in an environment, and there's a lot to get done! I can definitely say that the toolkit is impressive, even more so because it was done by a single person, Jeremy Ernst. As per legal requirements, and being that the code

Continue Reading
Python, code, Github, XML, JSON

XML to JSON converter

This was born out of something else that I wrote - I initially anticipated wanting to operate in a JSON format for certain files, but the project ended up not calling for that. Instead, I have repurposed the code for more general purposes and I'm putting it up online. It doesn't handle element text, however that should be pretty easy to implement. This places the json file in the same location as the XML file. xmltojson converter on Github. Here's the code: """ Usage: Put this wherever you need in order to reach it. from xmltojson import XMLtoJSON XMLtoJSON(putyourxmlpathorvariablehere).main(

Continue Reading
Maya, Rigging, OSX, Xcode, C++, Tutorial

Setting up Xcode for Maya

I took a course with Rigging Dojo sometime late last year to get experience with writing CPP plugins for Maya - Marco Giordano did a great job explaining stuff and introducing us to what it takes. Unfortunately, the class was centered around Windows and the Visual Studio environment(I think everyone except for myself was on Windows) and I needed to figure out how to setup plugins in an OS X environment. Therefore, I wrote up this tutorial for anyone else in the class and any future students. It was written pretty quickly, I did it in a very late

Continue Reading
code, OSX, Homebrew

Fixing Homebrew

All I wanted to do was update my homebrew installation of Python from 2.7.8 to 2.7.9 and come to find out a bunch of stuff has been mislinked in homebrew. Time to fix it up. This isn't really intended as a lesson as it's all simple stuff, just a process for myself because I'm going to lose this gist in a slew of bookmarks and I know I'll keep track of it better on my website if I need it again. First, I was running in to permissions errors: Followed these instructions listed by Jeff Scholen

Continue Reading
Python, code, OSX

pyOSX Permissions

Download pyOSXPermissions on Github I created this so I could mass edit .mp3 files that I had purchased through Humble Bundle and were "locked" whenever they were extracted from the .zip package. You simply launch the .py file, click the Navigate button, select the folder, and it will unlock all files underneath that. Beware, by default, this is fully open access, so if you want to change it, you will have to follow the instructions listed on the github ReadME. Also, if you want to do something other than .mp3 files, change the .endswith line to the correct extension.

Continue Reading

Homebrew Paths

Posting this because I have to keep looking it up if I ever need to edit it and need a definitive of it somewhere. /usr/local/bin /usr/bin /bin /usr/sbin /sbin

Continue Reading
code, Github, OSX, Tutorial, Modo, Applescript

Fresh Modo

This is a mix between a blog post and tutorial, I didn't really know which one to categorize it underneath. Part of what I do is develop custom builds of Modo, and it's pretty fun. But Modo, like every program, has settings files that store all your user settings and that help keep the program running how you like it. Unfortunately, when you're creating custom builds of Modo(called kits), you need to constantly have a clean slate to make sure what you're testing isn't a buildup of crappy files as you're developing. Unfortunately with Modo, there's a bunch of

Continue Reading
Python, code, OSX, Tutorial, Modo, kit, SDK, API

Creating A Scripting Kit Inside of Modo

There are a couple of things that I'm going to go over in this video. The first will be to show you how to build a very basic kit inside of modo, which will be specific to a scripting environment. It will include how to build buttons to search the Python documentation and the Modo SDK documentation. This idea was given spawned by Chris Lesage's writeup on how to do this inside of browsers, which can be found here. The finished scripts can be found on my website, at www.alexwidener.com under the Rigs & Scripts section. How to

Continue Reading
Python, code, OSX, PySide, PyQt

Converting a UI file to a Python file

Unfortunately, the current python application that I'm building isn't for use inside of Maya, it's going to be a standalone application on the desktop, so doing stuff inside of Maya isn't within my project boundaries for this. This cost me quite a bit of trouble today, and I had to go and attempt to install everything myself all to get one UI file converted over to .py. Unfortunately, PyQt4 would not install correctly on my work desktop, and sip wouldn't either. So I had to do some figuring out on this, and the following is a write-up of what I

Continue Reading
Maya, Rigging, Tutorial

Ribbon Spine

Edit: I know the images are missing, I've migrated website hosts 5 times in 2 years, so I'm trying to find them. I'll replace them as soon as I find them. So I had a friend ask the other day about how to set up the ribbon spine and how it was skinned to a character, I figured I’d write up a tutorial on how it works and how to make it work. Plus, I wanted to create a tutorial in a way that is more comprehensive than the notes that I’ve taken over the last few years

Continue Reading
Maya, Python, code, Sublime

Sublime to Maya

So this one is an old one. I'm copying and pasting it from my old tumblr. Unfortunately, this is my second time typing this today, as I stupidly closed the interpreter that I was typing in which had the instructions for you. I wrote this up for a student on Rigging Dojo(before I realized how long it would be) Here is how I got Sublime Text to work with Maya on Windows. If you’re doing this on Mac, sorry, but my MacBook is too slow to even bother with trying this. This is a combination of other people’

Continue Reading
Python, code, Tutorial, Modo, SDK, API

Starting Scripting in Modo

In what I am attempting to harbor as an educational process for both myself and others, I am documenting my learning experience of coding within modo. The term coding applies to both scripting and writing plugins. (scripts and plugins are two separate things and I will get to that in a separate post one day). In my experience, the documentation for coding within modo leaves much to the imagination, but little to the analyzation experience. The documents are very technically-coded and don't apply a layman's approach to something; simply, if you don't know what something does and don't have time

Continue Reading
Maya, Python, code, Tutorial

Write to Maya output window

I started following a fellow TD on Twitter named Sophia Zauner(@mattschwarzAnim) and I looked through her history of stuff, trying to catch something cool. She's a really good TD, so check out the rest of her stuff if you have a moment. I saw she had something about outputting text to Maya's output window, which I thought was kind of sweet and I wondered how it was done. Low and behold, I figured it out. It wasn't hard at all, so I'm putting the script up for free here so people could make use of it. How I've utilized

Continue Reading