Share your secret weapon...!


Custom command (Python) to toggle timeline playback between all views and active view.
I use Cntrl-Sh-V.
Be careful of indents when cut/paste to Maya - none of the lines should be indented.

    if cmds.playbackOptions (q=1, v=1) == 'active': cmds.playbackOptions (v = 'all')
      else: cmds.playbackOptions (v = 'active')
    print 'Playback options set to: %s'%(cmds.playbackOptions (q=1, v=1))


Just discovered this a while back:

The scenario: An animation student using a “public” computer lab has a rig that requires python scripts to work, but the lab restricts editing path variables and utilizes some sort of “deep freeze” on its desktops so that one can’t keep the scripts in the “/Documents/Maya/(Maya -version)/scripts” directory. One workaround is to embed the python scripts in the Maya file itself and have them executed via scriptNodes and scriptJobs. Because scriptNodes don’t handle python properly, one solution I’ve found is to store the entire python code as a string attribute on a node and in the script node:

string $pyStr = getAttr ($nodeName + ".pythonStringAttr");

If one needs to pass data to other scripts (eg similar to “import myScript”), that data can be stored as attributes as well and queried or set in the python script.

UPDATE: “notes” attributes can store python scripts as well…


i dont know if its already been posted, but i find toggling between the world and local axis for move and rotate manipulators really useful on an hourly basis :slight_smile:
Assigned to `

if(`manipMoveContext -q -mode Move` != 2){
manipMoveContext -e -mode 2 Move;
manipRotateContext -e -mode 1 Rotate;
manipMoveContext -e -mode 0 Move;
manipRotateContext -e -mode 0 Rotate;


oh and poseLib, Paie and zvParentMaster.
Ive seen animators become beasts once they grasp these 3 tools.





Very useful.
I’m addicted to Python, so here’s the Python version:

  if cmds.manipMoveContext('Move',q=1,mode=1) != 2:


If you’re on OS X, I made an Automator workflow to write the clipboard to a file on the desktop, just for stuff like this (blog posts, Script Editor contents, etc):

my secret weapon is a terminal shell script that reads the system log to find the last Maya error and automatically open the crash file. No more digging in temp directories:

cat /var/log/system.log | grep "Fatal Error" | tail -n 1 | /usr/bin/sed 's/^[^\/]*//' | xargs open


How about this:
Say you are working on a project at 1280 x 800 and you have a floating camera window and you want to see what things look like at actual size.
If the cam window is called ‘Audience’, this will set its viewport to actual size:
cmds.window(‘Audience’, e=1, width = 1284, height = 843)
To list floating windows:
cmds.lsUI(type=‘window’) # List all Windows


Just in the case you don´t know, with ctrl + space bar you hide everything except the viewports. Using the K key while panning the viewport lets you playblack the animation.


Openning maya 2 times , in the first one there are all of my objects in the scene , in the second one i create my objects and add detail on them , after i’m done with it Ctrl+C go to first maya and Ctrl + V and placing them in the scene :slight_smile:


Ever have to select exactly one half of the faces on a polygon with lots of faces? It’s really hard to get them all perfectly, sometimes you go over the half way mark, sometimes you don’t get them all, right? So, here’s what I do. Assuming the polygon is centered at the origin, with a straight edge loop along the Z axis. First go into face selection mode. Then in the polygon menu set go to select > select using constraints. Flip down the Geometry tab and then the Distance tab.

Click plane
Max 100
Px -100
Vx 1

Then go back to the top and click Constrain: All and Next

It doesn’t even have to be a symmetrical polygon for this to work. It works on any straight edge loop at the origin, going along the Z axis. For X or Y, just adjust the Pxyz and Vxyz accordingly.


Follow This Link


Michael Comet made a butt kicking set of tools that makes my rigging much easier.
His website is:


Bloody hell I wish i’d known that before :beer:


Some tools that are simply too valuable to live without (for me anyways):

-Any batch rename script
-My texel density script for auto-scaling every UV-shell so that the TD becomes the same for them all.
-Xform UV for stacking UV-shells and best of all: orienting UV shells. I can’t believe I spent so much time without a proper tool for orienting UV-shells.
-File Texture manager from Crow Yeh.
-Roadkill UV: It’s an old, abandoned tool but imo it’s really, really awesome. Extremely easy to use, good and fast unwrapper AND it comes with a superb stretch shader for finding pinching and stretching on your models.


This is the discreet rotate toggle, so if you go into the tool setting for the rotate tool you can set this to any number you want, not just 15 degrees


Hi, I want to share a script I wrote, it’s a maya user interface for dualview displays which can wrap all Editors, Panels and Layouts into one maximized window.
(currently without Attribute Editor and Tool Settings)

Comments, suggestions, and bug reports are welcome.


Here’s a lighting tool that I find pretty useful - it puts all your light attributes in one place for easy editing.

It’s similar to the ninja_light tool from ninja dojo:


Does anyone know if there’s a script or tool out there that adds edge loops close to the outer edge for the whole object (making it so you could block out a basic shape, then click and have added enough detail to hold the shape of the object)?

This way you wouldn’t have to go back and add edge loops near the edges manually.


Not a maya secret, but for any windows Vista and 7 users Ctrl + Shift + Esc brings up the task manager right away without that other intermittent screen like Ctrl + Alt + Del used to do on windows XP and below.


Using proxy when modeling!