We've Moved

The blog has been retired - it's up for legacy reasons, but these days I'm blogging at blog.theodox.com. All of the content from this site has been replicated there, and that's where all of the new content will be posted. The new feed is here . I'm experimenting with crossposting from the live site, but if you want to keep up to date use blog.theodox.com or just theodox.com

Friday, May 30, 2014

Channeling Gerry Anderson

Utterly off topic.  And brilliant.  This guy is totally channeling Gerry Anderson and Derek Meddings of Thunderbirds fame - not only is the home model animation work pretty cool, it's a pitch-perfect reproduction of the original aesthetic right down to the music choices and ponderous VO.

Mr. Greg Martin, I salute you!

Tuesday, May 27, 2014

Your weekly moment of Python-is-awesome

I stumbled across a cool little idea while working on a refactor of my python tools build system, and although it is not really ready for prime-time it's fun enough I had to share.  With a little bit of work you can load Python modules directly over the web via http!  How cool is that?

Details  & code after the jump

Sunday, May 25, 2014

Maya binaries list

+Rob Galanakis  just posted a handy list of Maya binaries for people who need the correct version of QT or Perforce to go with their Maya versions.  Great one-stop shop for navigating this annoying maze....

Sunday, May 18, 2014

TA Bookstore page

I've started a page with links to books that TA's would find interesting or useful. Let me know if you've got recommendations - right now there's a glaring lack of Max related books. I've been skipping over "How to do X in Max 2011" type titles so far since they get dated so quickly (I've got probably 200 lbs of utterly useless reference on versions of Maya and Max that wouldn't even run on Windows 7 stuffed into my basement). But I'm always interested to hear about useful reference stuff.

The TA Bookstore page

Friday, May 16, 2014

Subjective truth

This video is proof that perceived reality is socially constructed. It will delight and inspire all the artists and designers on your team...


Unified Particle Physics for Real-Time Applications - SIGGRAPH 2014 from Miles Macklin on Vimeo.

... and make the engineers very, very nervous...

Thursday, May 15, 2014

Rob G's book is up for preorder on amazon

I just noticed that Rob G's upcoming book about Maya Python programmingis up for pre-order on Amazon! Looking forward to seeing it in "print"!
PS. Mine is still up there too!

Tuesday, May 13, 2014

No soup for you, userSetup.py

When I start working on isolating maya environments, I came across a nice bit of trivia I didn't know about.

If you ever want to run a Maya without its userSetup.py and without having to move or rename files, it turns out you can suppress userSetups by setting an environment variable called MAYA_SKIP_USERSETUP_PY to any value that evaluates as True.  This is handy for testing and isolating path management problems - if you've got a rogue path and you're not sure where it's coming from, this is an easy way to make sure it's not being added in by the userSetup.

PS: If you're using a MayaPyManager to run mayapy instances, you can set this variable like so:

    from mayaPyManager import MayaPyManager
    import os

    env = os.environ.copy()
    env['MAYA_SKIP_USERSETUP_PY'] = '1'
    mgr = MayaPyManager('path/to/mayapy.exe', env, 'path/to/maya/scripts')
    # this manager will use only the user provided path
    # and won't run the userSetup.py on startup

Sunday, May 11, 2014

Multiple MayaPy Management Mania

Lately I've been re-factoring the build system I use to distribute my python tools to users.  The things which has been driving me crazy is the need to start supporting multiple versions of Maya at the same time.

Besides the general hassle involved, supporting multiple Maya versions and multiple projects at the same time is a nightmare for doing good testing and QA.  With so many different configurations it becomes increasingly easy for something to slip through the cracks.  You might have a bit of Python 2.7 syntax which you wrote in Maya 2014 sneaking into a tool used in Maya 2011. You might have tools that rely on an external dll that is correctly set up in your Maya 2011 tools but not in the outsourcer version of your 2012 setup.... The possibilities for shooting yourself in the foot are endless.

So, in an effort to clean this up, I've cooked up a simple module designed to create and run instances of MayaPy.exe with precise control over the paths and environment variables.  You can use it to run tests or automatic processes in isolation, knowing that only the paths and settings you're using will be live.

The actual code is not super complex - it's up on gitHub, as usual free-to-use under the MIT license.  Comments / questions/ feedback and especially bug fixes all welcome! Code also here after the jump

Friday, May 2, 2014