Sunday, May 13, 2018

MLOOM plus converting to local space.

For insane distance shots with complex cameras, convert to local space with a top node that drives the world motion of your characters or objects.

1. Create or bake a null that will be your world space driver. E.G. if you have a guy on a train, the train's root will drive the movement through world space.

2. MLOOM your object's root node to get it's movement through space. Make sure your character's hands and feet are in local.

3. Delete your object/char's root node anim.

4. Parent the object/char to your world driver.

5. Transfer the MLOOM back on to your object/char's root node.

6. It should now be local spaced object driven by the world driver.

Wednesday, March 14, 2018

Neat Script

This one allows you to scale each curve in the GE locally. For example, you have a big action that you want to scale a section all of the motion down 50% - easy peasy with this tool.


Tuesday, February 07, 2017

Move object in relation to camera

Very cool script. I don't know why Maya is lacking this functionality.

Decent Quadruped Tutorial

Monday, November 07, 2016

Super Motion Path Technique

Cheers to Brendan Gallagher's Youtube video on attaching a spline IK rig to a path via the ik handle's offset attribute. This is a great technique for objects with length that need to deform along a path.

Tuesday, May 10, 2016

Pivot back to world 0

Cool and easy script.

xform -ws -a -rp 0 0 0
Will take your pivot point back to 0,0,0

Sunday, November 22, 2015


I'm not sure why Maya doesn't have a >convert Maya Ncloth to Polygons function but I found a hack online that works well.

Set the pose as an initial state (edit nCloth > initial state > set from current) then in the channel box where it says 'isDynamic' turn that to off, ta da!!

***Just tried another method animation>Geometry Cache. Works fine.

Sunday, September 13, 2015

Hide Polys Toggle

Great little script to map to a key that hides all polys and displays them back upon hitting the key again. I find myself hiding polys all the time especially when selecting rig controls or when geo gets in the way of selecting.

string $activePanel1 = `getPanel -wf`;
if (`modelEditor -q -polymeshes $activePanel` == 1) {
 modelEditor -e -polymeshes 0 $activePanel;
} else {
 modelEditor -e -polymeshes 1 $activePanel;

Wednesday, July 22, 2015



Sometimes it's the simplest things. Ever work on a scene that somehow the keys are on subframes? This can happen when you scale keys or use timewarps. So how do you get those damn keys back on to whole frames?

Just select the object and type snapKey in your Mel script executor and bamn...all keys are moved to the nearest whole frame.

Dig it.

Sunday, January 18, 2015


Very good explanation of map extraction and rendering displacement out from Mudbox.

Friday, January 02, 2015

VRAY texture resolution and Viewport 2.0

Why the #$%^ are my Vray textures so low res in the viewport?!

Here's the fix...

Friday, December 05, 2014

I haven't had a go with this one but it looks like this rig has every bell and whistle possible. Pretty impressive. Have a play here

Thursday, September 18, 2014


Can't get enough free rigs? Have some more!

Also here's some $30 rigs (wait! he's raised the price to $40) that look very nicely done

Friday, June 13, 2014

Quadruped Gaits


Not a Maya post but hey - very helpful if you find yourself animating 4 legged animals or creatures.

Sunday, March 09, 2014



Yes! How cool is this! I haven't used Maya's ghosting in a while and was searching for a way to ghost a whole character and Bamm! bhGhost.

Create a selection set of all your character's geo and load it into the bhGhost GUI. Hit "ghost" and it draws you up an outline on that frame. Heaps of control over the outline in the bhGhost node. It's also very fast with no slow down.

Here's the link to the mel script. Big thumbs up to Brian Horgan for this one.

Saturday, March 01, 2014


I've used some sweet auto riggers but this one really impresses me. I managed to rig up a simple skeleton character in about an hour - skinned and all. Very user friendly system based on mirrored guides, rig set up and a super fast skinning GUI.

Dig the rig too. Comes with all the treats, stretchy IK, finger set drivens, world head rots etc etc etc

Sunday, March 10, 2013


Super technique for pushing HDRI maps through a dome light and getting the hdri
highlights nice and hot. By default, they come in with a washy contrast that forces
you to add extra lights. Add the gamma attribute to your file textures and render
up some sweetness.

Sunday, November 04, 2012

Select constrained to object

Ever worked in a complex scene created by someone else with all kinds of constraints and nested constrained objects? Nightmare finding what object is constrained to what? This python script will select the object that your object is constrained to. Sweet. Map to a button - done.

import maya.cmds as mc
selection =
toSelect = []
for item in selection:
   constraint = mc.listConnections( item+'.parentInverseMatrix[0]', d=1, s=0,type='constraint')
   if constraint:
      constraint = constraint[0]
      src = mc.listConnections(constraint+'.target[0].targetParentMatrix', d=0, s=1)
      if src:

Saturday, August 25, 2012

Maya A/B transform match script


Every studio that I've been at has some sort of "match object A to B" tool that simply snaps A to B. I thought it was some sort of wizardry (and a shame on Maya for not having that tool). Then I heard about the point/orient constraint create then delete method.
Well the magic trick has been unveiled....
All you need to do is create a

delete `parentConstraint`;

button on your shelf and that's you A/B matcher. select object 1, shift select object 2 run your delete `parentConstraint`; and boom it does the whole thing for you. Love the simplicity.

Saturday, July 07, 2012


After being assigned some camera work where the job was to create realistic noise, zooms, booms and pans I realized that camera work is not as easy as I thought. After some gimble, frustrating noise controller rigging and battles with subtlelty I thought I'd rig up a clean camera rig to make things easier. If you're doing camera work, feel free to grab my rig over at

****UPDATE*** Now with aim locator

*to attach your own camera, just parent constrain your camera to the Cammy camera or just parent
your camera under the camera2_Shake locator,

Tuesday, June 12, 2012

setAttr on multiple attributes

1 hour burn trying to figure out how to set the 'relative' attribute on or off on multiple clusters. Maya still doesn't allow multiple selection of clusters and attribute setting nor is relative available in the attribute spreadsheet.


string $nodes[] = `ls -long -type "cluster" `;

for($node in $nodes)


print($node + "n");

setAttr ($node + ".relative") 0;



Monday, May 14, 2012


Nice. Someone put together a 3dsmax-like shader library. Download the DeeX shader library and copy it into the Sunday Pipeline directory warehouse browser. Sweet.

DeeX shaders

Sunday Pipeline Plugin

Thursday, May 10, 2012

Looks pretty sweet - UVAUTORATIO PRO

I haven't tried this texture plugin yet but it is looking awesome for uv texturing.

Saturday, April 14, 2012

Flicker Free animation VRAY for Maya

The tough thing about Vray is that for the most part it's default render settings are most set up for interior still frames or arch-viz camera fly throughs. When you want objects moving through the scene, Vray's irradience maps are calculated differently each frame....which leads to flickering GI.
I've found a great tutorial that explains the irradiance map prepass method, which works similar to motion blur pre and post frame calculation. What it seems to do is pre-calculate the GI maps then blend them + or - X amount of frames so that flickering is eliminated. It's a two step process, but way faster than brute force GI methods.

VrayForMaya Nederhorst Settings

Here's some pretty decent vray settings for animation. There's so many things to play with in the render settings - it can get out of hand. According to this video, the Nederhost settings attempt to keep all of your quality control in the Adaptive DMC section. I can dig it.

**Great tip from the video. Switch to Fixed rate rather than adaptive DMC with a low sample rate for fast test renders. I have to render layers set up. One with DMC, one with Fixed for fast render quality switching.

Monday, December 26, 2011

Pose 2 Shelf

Gotta give props to simple, good scripts. I was posing out some wing shapes on a character and I was looking for a simple pose storing script. Here it is.

Simply select your controls, name your pose and BAMM it saves the pose as a button to your shelf. Gotta like that stuff.

Saturday, December 24, 2011

V-RAY for MAYA shader library

Yes! For you people out there who use Vray, I highly recommend you grab this shader library tool by Oliver Markowski. It comes with a shwack of presets, a test sphere file that you can create and export your own shaders and a very cool GUI for Maya. It's a bit of work to install and NOTE: you have to convert all of your .jpg preview files to .png files for them to be viewable in the GUI. But when it's up and running - this is a great tool for shader organization.

Thursday, December 22, 2011

Constraint Burn + Extrude along face normal burn

Did I miss something on an update or have I just done too many bad things to my brain lately? I always used to use the 1W0 attribute to animate a constraint on and off. Now it seems there is a Blend Point 1 attribute that does the job. When you create a constraint this is added in your channel box right after visibility.
Anyway, had me going in circles for a bit.

And another one! Making even indents or extrudes on objects...not so intuitive in Maya. I needed to make the indents on a mouse button and after my extrude I was looking for all types of settings on the move tool. The 'normals' only works on nurbs and verts. To move faces inward or outwards along normals you need to use the edit mesh/transform components tool. Jeez.

Tuesday, November 22, 2011


Ahhh Maya transfer attributes...why oh why do you add a history node to the stack when transferring. I had a situation where I needed to match the vertex positions of one object to another. The problem is that it adds a non-deletable node to the target's history. If you delete it, the tweak reverts. Lame.

Why can't it just query the vertex position of the base object and copy those values to the target verts? 

Well thankfully there's a script that does just that. It the ZEN yo!

There are a big shwack of scripts in this suite but the tool I am talking about is in the mel folder. It's called  doZenTransferPointPositions.mel

Select your base object and your target verts and run it. SNAP. Vert positions copied.

Monday, November 14, 2011

Script Manager

Yea! Here is a sweet script that allows you to execute, source and edit scripts all within one window. I can't say how annoying it is to have to source a script then type it into the MEL line. This script is UI genius.
Check it!

Monday, October 17, 2011


I've been out of the rigging loop for a while but man there are some sweet new tools. Anzovin's The Setup Machine 2 is pretty damn sweet. But here's a niiiice reverse foot setup script that puts in all of your toe roll, heel roll etc etc automatically. Gotta dig it! The script is over at Creative Crash but here's a video showing it's slickness

Wednesday, October 12, 2011

1 Button stretchy IK

Man I'm a sucker for 1 button anything. Check out this script that once you've built your spline the IK handle, press the button via this script and yes - super stretchy IK. Lov it.

Monday, October 10, 2011

Lovin' VRAY for Maya's VRAY Blend material

Sometimes the most simple things tweak my brain. I remember the pain of having
to use mix8 nodes in Mental Ray. This mucho bettero.
1. slap down a vray blend MTL.
2. Throw a semi transparent shader in as your base.
3. add in another shader with a blend amount or use a texture to determine blend amounts.

That's it. Insta-layered shader. Awesome.

Sunday, May 08, 2011

After going over digital tutor's introduction to vray for maya, I'm pretty convinced that it's far better than MR. With GI, motion blur, caustics, blurry relflections all on - I can still get decent render quality and times....on my laptop.

I recommend this Digital Tutor tut if you are thinking of dropping into VRAY.

Wednesday, December 08, 2010


So you're cutting in Adobe premiere Cs5 and some of your video has the Xvideo codec applied. For some reason Premiere can't read your audio. Well, it's well documented that Adobe considers Premiere as a DV editing software and that the Xvid codec is for presentation only. BOOOO. The only solution is to extract your audio with an external program as a .wav and bring that into Premiere. AoA audio extrator......Free and it works.

Friday, November 12, 2010


Here's one that briefly burned me today and I thought I had a blog post of it. If you've created Ncloth and a default preset isn't moving correctly it's most likely that you are not working to 1/10th scale.
Because Maya perceives 1 unit as 1 meter (when your prefs are set to cm's), they also built the cloth solver to solve at that scale. Under the Nucleus node there is a space scale attribute that can be set to 0.01 if you are in a pinch but I'd suggest to model to 1/10th to get the most predictable results.

**Here's a fantastic whitepaper on the Nucleus solver.

Friday, November 05, 2010

Maya 2011 Vector Blur

Things are a bit different now when rendering vector blur. Now Maya has incorporated it into render passes. You no longer need the LM2DV shader.
Render out 32 bit EXR with the blur embedded into the pass and break it out into your comp package. This is how to do it with Maya's "composite" package.

1. Separate your FG and BG into render layers.
2. For each layer needing vectors, go into your passes tab in render settings and
add a BEAUTY and a mv2Dtoxik (2DmotionVector) pass.
3. In your quality tab make sure your framebuffer is RGBA 4x32bit instead of the default 8.
4. Image format - openEXR
5. Render

COMPOSITE - See image for nodes used and also use this dude's video

Thursday, September 23, 2010

Nudge Keys Script

When you're working with stepped keys a cool tool to have is a 'nudge selected keys 1 frame left or right' script. I'm no complex MEL guy but here's the code you can slap onto a shelf button...

Nudge -1
keyframe -animation keys -option over -relative -timeChange (0 - 1) ;

Nudge +1
keyframe -animation keys -option over -relative -timeChange (0 + 1) ;

Monday, September 20, 2010


Finally figured out how to get the best player hooked up for playblasting. The problem is that it's never had an option for autolooping by default. Here's the config file hack.

With clicking on View->Playlist->and then either clicking on Repeat Once or Repeat All, you have to do that every time you open a multimedia file. If you want VLC Media Player to do it by default every time you open a file, open up the file called vlcrc, which is located in the ~/.vlc folder, with a text editor. Look for '# Repeat all (boolean) #loop=0 # Repeat current item (boolean) #repeat=0' inside that file. Change the 0s to 1s & remove the #s and, after doing that, make vlcrc read-only. Then, everytime you open up a multimedia file, the player will loop the multimedia file by default.


*Also unfortunately there are a lot of codecs missing in Maya 2011 64 bit Win7. Right now I'm using the FFD show codec which can be found here...

*TIP strange colors on your video when playblasting? In VLC change your video/output to Windows GDI output.

Saturday, September 18, 2010

Wednesday, September 15, 2010


There's a nice new feature in Maya now when you want to add sculpted detail to your models via Mudbox. Here's the quick rundown.
1. Model and UV up your Maya model.
2. File/Export selected to Mudbox
3. Sculpt it up.
4. File/send to Maya. You'll get an option box popup and next time you click on Maya BOOM your Mudbox object is back in.

Friday, February 19, 2010


Always found it frustrating to have a character/creature with Ncloth imported into a scene then have to move the character away from 0,0,0. The ncloth would snap away like crazy and youd have to relax it etc etc while positioning.

Here's a technique to have a fully positionable character have it's Ncloth solve as if it was on 0,0,0 anywhere you position it.

Let's say you have a cloth scarf transform constrained to your character's neck

1. Grab the geo of the scarf and parent constrain it to the transform constraint. Now the scarf moves wherever the transform constraint goes AND solves from rest position anywhere you position the character.

Wednesday, February 17, 2010

Basic Ncloth Hair Tutorial (CLICK ON IMAGE)

Haven't done a tut in a while. Enjoy!

Sunday, February 14, 2010

Motion Blur + Constraints

Here's a trick that I found on an old cgtalk post...
Sometimes you have a character's hand constrained to a surface and in 1 frame you switch off the constraint. Well, since the renderer reads past and previous frames for motion blur you wind up with a crazy streaked motion blur on the frame where you turn the constraint off.

1. Grab the trans keyframes of your object (or say your character's arm control) on the frame BEFORE the constraint gets turned off.

2. Turn off snapping in your graph editor and drag the keys extremely close to the next keyframe (to the right) . Zoom in and drag them as close to the keyframe where the constraint turns off as you can. Voila, proper motion blur.

Tuesday, February 02, 2010

Transferring UVs AFTER rigging....

This is a tough one, but here's the HACK. Lets say you've rigged up your amazing character and realize OH, I have to make a bunch of UV changes. You copy out your character's head, UV it up nicely, bring it back in and use the "transfer attributes" from your copied head to the rigged one.
No deal. It's because your transfer attributes input comes after rigging and all UV inputs have to come before rigging. Same as in Ncloth.
I don't understand why Autodesk doesn't put in a "before deformers" option or something similar to how you can insert blendshapes at certain parts of a deformer chain.
Every object has a "shape orig" node which represents what an object was before it was deformed. We can apply a UV transfer to this no problem which will also transfer up the stack to your rigged object.
I access it like this

1. Select your rigged object, in the hypergraph hit options/display/ hidden nodes & shape nodes
2. You'll see a hidden node which is your Orig node, or what your object was before rigging.
3. In the orig node's attribute editor under object display, uncheck 'intermediate object'
4. Your Orig node is now accessible.
5. Apply your UV transfer attributes to it - then delete it's history.

There you go - you've applied your transfer to your object via it's history object. Maya sees it that you performed this operation before rigging. Now why Autodesk hasn't made a tool for this....who knows.

Wednesday, January 27, 2010


For all you home, 1 machine render monkeys out there. I just discovered how to drop some core processing power (if you have a multi-core computer) while you are rendering so you can do all that web surfing while your machine chugs. CTRL-ALT-DEL into your task manager. Find the Maya process, right click on it and select set affinity. Click off one of procs. Cool, never knew about that one.

Tuesday, January 26, 2010


Nice and simple free app to rename those image sequences that you buffooned in your render settings. It's through creative crash so you need to register.

sequence 911 click here.

Tuesday, January 19, 2010


Wednesday, January 13, 2010


I came across a VERY cool technique to drive Maya's hair or splineIK. I saw a post online and the guy said
"create strips of polys from your hair, apply nCloth to them then wrap the hair to the nCloth"
I said "huh"?
So basically here's what he means...

Let's say you need a dynamically driven IK handle that you would normally drive with a dynamic curve (say a pony tail or an antennae). Instead

1. Loft 2 curves together and create a poly 'ribbon'.
2. Create nCloth of your poly loft.
3. Take 1 of the curves and wrap deform it to the polys which are now nCloth.
4. Your curve is now driven by the movement of the nCloth which is MUCH more versatile and has way better collision detection.
5. Now you can set up joints and spline IK your nClothed curve to them...all of this being driven by your nCloth.
6. Set up your nCloth constraints which are very good and predictable. Adjust your ncloth movement as you need it.

Saturday, January 02, 2010


EDIT: WOW even a better technique...

Here's a cool tutorial on a quick and dirty way to convert 30i footage to 24fps in After Effects.

Friday, December 11, 2009


Alright, the problem with maya's built in ambient occlusion render pass is that it offers no control over it! It's just a blanket setting that eats up render time like mad. It's about 5 times slower than setting up the mib_amb_occlusion node to a surface shader. Lame I say!

So keep with the method of setting up a render layer, piping the outValue of the occlusion node to the outColor of a surface shader. Assign it to all that needs occlusion in that render layer (play with samples value until you get a nice result) and render. Way faster.

Tuesday, December 01, 2009

Consistent MR mem crash tip

Whilst batch rendering a sequence I often find my render queue cut out on a certain frame. When I open it in Maya and try and render that frame, Maya will cut out and crash as well.
The Culprit:
MR approximation editor min/max subdivisions set too high. Lower that tesselation down and MR should be able to chew it.

Thursday, November 26, 2009


Of course, it's not easy as with most things in MR but here it is.

1. Create a poly object (cube) which will act as a 'container for your fog.
The smaller the container the less calculations Maya has to make.
2. Create a light that will be your fog light. Turn on raytrace shadows with trace depth 5.
(use MR lights for cooler results, i.e. attach a physical light to a spotlight)
3. Make sure your objects are within your container.
4. Create a shader (lambert) that you will apply to your container.
5. Open the lamberts 2sg node and hook a transmat node to it's MR custom shaders
-material shader and shadow shader. This will make the container's geometry
invisible to the renderer.
6.Connect a parti_volume node to the volume shader slot.
7. Turn up the parti_volume's scatter a bit.
8. In the parti_volumes attributes, link your light to it through the light linking
drop down.
9. In your render globals, Features...turn on auto volume volume samples 8.
10. Under quality, Raytracing...turn shadows up to 6.

There it is, your 10 steps for a simple effect. Now tweak your parti_volume
node to death and have fun ! (Min Step Len lower makes fog less grainy)
Those render times are gonna be pretty harsh!