Saturday, October 22, 2011

Maya UI Cheat Sheet

I created a PDF that has all the controls and menus in Maya but with screen shots of what each one looks like. This is useful when building tools since the documentation doesn't have it and it's nice to see what the controls look like while knowing what the name of it is. You can download it here

Reading XML with Python in Maya

I did another tutorial on reading XML data in Maya with Python.

Wednesday, August 24, 2011

QT, QT designer and Maya

Well I started to take the plunge into using the QT framework inside of Maya. I feel I have become comfortable with the regular interface tools maya has built in but it seems the industry has more and more TDs using QT inside and outside of DCC apps so better learn it right. I just thought I would post some links to some good resources that helped me start it up fairly quick. Once I get it down I plan on making a couple simple tutorials on how to get started. Here are the links:

iVolxel studio blog:

This guy Chris has more than just ONE good link, look around his site:

One from the Area:

Monday, August 22, 2011

Finding out what button you clicked and how to get rid of it

Recently I was coding a tool and thought it would be cool to add a feature that allowed the user to right click on a button and then select a menu option to delete it. The question that arose was this: How do I figure out what button was pressed?(since there was a whole bunch of them and they were being created dynamically). There is most likely a better way to tackle this but since there is no immediate answer and i'm slightly retarded here is what I came up with as a solution.

Here is the code:

import maya.cmds as cmds
from functools import partial

def delFunction(btn, *args):

win = cmds.window()
fullPathName = cmds.button(btn, q=True, fpn=True)
cmds.button(btn, e=True, c=partial(delFunction, fpn))


Basically what I did was create the button then grab the fullPathName of the button in the UI, this gives me what button it is. Then I pass that button into the function that deletes it using the 'partial' function from functools. Partial allows one to pass in an argument(s) to a function while in the command field. Then I simply use the deleteUI command and pass in the button I want to get rid of. Easy really, it's just a matter of figuring it out.

Right-click Menu in Maya using Python

This might be a little obscure but thought I would throw this out there for anyone who searches this with Google. I know it was frustrating to find any kind of real resource on the subject so here it is. You can add a right-click pop-up menu to pretty much any UI element with Mel/Python in Maya. Here is a link to the docs about this menu:

Take a look at the example. Not too informative but basically all you need is a parent to attach the menu to and set the button to be the RMB, and you are done!


import maya.cmds as cmds

win = cmds.window()
btn = cmds.button(l='Click Me')
popup = cmds.popupMenu(parent=btn, ctl=False, button=3)
item1 = cmds.menuItem(l='Item1', c='whatever and')
item2 = cmds.menutItem(l='Item2', c='whatever')


and there you go! That's really all there is to it.

Tuesday, July 27, 2010


Autodesk has a live stream to their booth at SIGGRAPH available from their website. Not able to go this year(again) but that is one step closer than not going or watching at all. So far it has been showcasing the Avatar-ish production piepline showing off what MoBo and motion capture can do with real time pre-viz stuff and how easy you can transfer into maya rigs. I wish they had face robot for maya, they had Blur studio on there showing the workflow they had for mo-cap and they use XSI and MAX no mention of Maya...another thing that proves that the concepts are what is important and not the sofware itself.

Friday, July 9, 2010


"What?" you say. You mean you haven't heard of this guy? Once you say it out loud you won't ever forget the name, and once you download his awesome set of *free tools you won't ever want to stop using them. Well, what are you waiting for? GO!

* = This guy Hamish has made great stuff and been gracious enough to let it out for free, if you find it useful why not send a donation his way?

Some Insight to the Industry

This is just some insight to how things work as a TD in the field, and this comes with permission from an amazing TD named Jay Grenier. This is in response to a comment I made about how it seems the community is kind of "hush-hush" when it comes to learning about TD-ing. He said:

"I wouldn't say there's anything hush-hush about the topic of the best ways to give control over a character. It's more that it's just a difficult subject in general to discuss and people have different opinions and experiences on the matter. Every animator has their own workflow and prefers different types of controls and it's rare to find someone who knows exactly what they want. I've worked with animators that will ask for a rig built and setup a certain way then when it's complete they change their minds and realize they liked the old setup better. Artists with a large amount of experience generally will know what they want which can make it easier, but for the most part it's an ever-changing process. All that coupled with the fact that TDs are usually working with game engine restrictions and other technical limitations means it's not always as easy as just giving them what they want or finding the "best" setup. It's an evolving process and there is no one right way to do it. That's why I think it's not the most talked about subject on public forums, too much philosophy involved. :)".

I'm no expert but I have to say I agree with him after doing some more research, this stuff can be really freakin' hard to mash into your brain. Being able to understand the concepts behind rigging/setup has to go across multiple softwares with different naming conventions, so it could be a tad confusing and hard to say "This is the right way to do this." cause you can't say that. That's why I hope this blog can help some people out by showing many ways of accomplishing what should be the main goal of setting up the most efficient and effective character rigs.

Tuesday, July 6, 2010

Tech Artists.ORG

Here is a great resource site that has a ton of industry professionals discussing what techniques, problems, ideas, scripts and all sorts of stuff they come across. Check it out and get involved!

Friday, July 2, 2010

Stretchy Limb Tutorial

I just made these tutorials to show the method I use setup the stretchy system when I rig. The next step I am still trying to account for is matching the FK and IK stretch to be the same without having to use any scripting, as well as add elbow locking, ribbon pull offs and the IK/FK snap. I have seen some new methods that have the arm always in FK but it is IK at the same time....boggles my mind and I think the person made their own plug in for it. I will post more about that later. If anyone knows more about this do tell, or if you know a better way to setup the stretch let me know!

Part 1

Rigging a Stretchy Limb in Maya Part01 from Matt Murray on Vimeo.

Part 2

Rigging a Stretchy Limb in Maya Part02 from Matt Murray on Vimeo.