Jul 3, 2014

Tweeny

Tweeny is a Maya in-between and overshoot pose creation tool similar to the Tween Machine by Justin Barrett.

May 3, 2013

Remove Namespaces Script

When you import in Maya it's hard to avoid namespaces. They pile up and 9 times out of 10 you don't want them.

Here's a simple script that will remove namespaces for you. Select any item in the namespace that you want to remove. If there are multiple nested namespaces, it will remove them one at a time.

Unlock Nodes Script

You can't delete something because it was duplicated from a referenced object and now it's locked. How do you unlock it? Maya doesn't have a any way to do this without using a script.

Here's a simple script to unlock these pesky bastards.

Jan 1, 2013

Batch Stabilize Footage

I had 240 video clips that I wanted to run stabilization on so I wrote this nifty script for After Effects that will take all your selected footage items, build comps for them, apply the warp stabilizer, and add them to the render queue. You have to then wait for the image stabilzation to process in the background for all the footage before it will render, which took an extremely long time with all the footage I was using.

At the top of the script there's a place to use a render settings template of your choice to apply to all of the comps in the render queue.

If you don't know how to install and run scripts in After Effects, read this.

One last word of caution. Running this script on 240 files crippled my machine and I ended up having to do it on chunks of 50 or so to keep things stable. It ate up all of the RAM and had trouble even just saving the file because of all the warp stabilizers.


UPDATE: I updated the file with Ryan McManimie's fix in the comments. I changed "Warp Stabilizer" to "Warp Stabilizer VFX".

Dec 29, 2012

Shader Fun

I've written some helper scripts for dealing with shader and render layer assignments called shader_fun, which includes the following commands:

shader_fun.export_shaders() - Store the mesh assignment info for all shaders in the scene and then export them to a separate maya file.
shader_fun.import_shaders() - Import shaders with mesh assignment info and reassign to meshes with the same name. Supports namespaces.

x = shader_fun.get_render_layer_ass() - Get the render layer shader assignments for selected meshes and store it in "x".
shader_fun.set_render_layer_ass(x) - Set the render layer shader assignments stored in "x".

shader_fun.save_mat_ass() - Save all shader assignments in the maya scene to an "ass" file.
shader_fun.load_mat_ass() - Load and apply all the shader assignments from an "ass" file.

Get started:
1. Download with right-click save as and save the file in you maya prefs folder in the scripts folder. For example c:/users/[yourusername]/documents/maya/scripts/
2. Import with the following python command import shader_fun
3. Run those other commands.

Nov 12, 2012

Hair From Curve Script

Maya's hair system is a really powerful rigging tool, but the implementation makes it difficult to cleanly integrate into your rigs through script. It creates a bunch of extra nodes you don't need, names the resulting dynamic hair "curve1", and there is no way of specifying when you want to add a new follicle to an existing hairSystem node.

So I wrote a bare bones script in pymel that will create all the necessary nodes and connect them for you without creating all that extra junk.  If you pass in an existing hairSystem node name, it'll be added to that, otherwise a new hairSystem node will be created with the given name, or if you don't include a name it'll just make one up.

Jul 30, 2012

Fresh Skin

Turns out other folks have been using a script I shared with someone on tech-artists.org to help them with a particular rigging problem they had and I got an email about it because the tech-artists site is down so I figure I'll just put it up here.

The script is called Fresh Skin and it is pretty simple but very effective. It just duplicates the bound geometry, copies the skinning info over, deletes the original, and cleans up.  This fixes an insanely large number of issues but I wrote it a long time ago just to get rid of any unwanted history on a bound mesh.

1.Download below with right-click save as and save the file in you maya prefs folder in the scripts folder. For example c:/users/[yourusername]/documents/maya/scripts/
2. Restart Maya.
3. Select the bound mesh(es) you want to act on.
4. Run this command:  freshSkin;