Sunday, November 30, 2008
Tip of the Week: Snapping
Use the snapping shortcuts in Maya for precise placement of objects and components in the viewport.
x to snap to the grid
c to snap to curves
v to snap to points or vertices
j to toggle snapping for the Move, Rotate, and Scale tools
shift + j to toggle relative snapping for the Move, Rotate, and Scale tools
For more control, you can tweak a variety of snapping settings under preferences and in the tool editor.
Labels: Maya, Modeling, scene layout, Tip of the Week
+ posted by Paul @ 1:56 PM 0 Comments | Links to this post
send this post to a friend: 
 
 
Thursday, November 20, 2008
Tip of the Week:
Automatic Shelf Icons
Maya's shelves are handy, but sometimes it's nice to be able to customize them for your own specific workflow - organizing your favorite tools and commands in one easy to access location.
You may already be familiar with using the middle mouse button to save your own custom shelf buttons. (Enter some MEL into the script editor, highlight it, and drag it to the shelf). This is great for scripts that you write or find online.
But for commands and tools that are native to Maya, there's a great shortcut. Hold down Ctrl + Alt + Shift and select an item from any of the drop down menus on the menu bar (e.g. Create > Measure Tools > Arc Length Tool). The best part is: not only does it automatically generate the button, but it automatically assigns an appropriate image icon.

Labels: GUI, Hotkeys, Maya, Tip of the Week
+ posted by Paul @ 8:37 PM 0 Comments | Links to this post
send this post to a friend: 
 
 
Monday, October 27, 2008
Tip of the Week: Null Script
While setting up a character rig, one thing that comes up again and again is the need to create a null node above a particular object - whether it be a joint, an IK handle, or a nurbs GUI (like the ones from the Oct 15th Tip of the Week).
It's extremely easy to do, but it gets pretty repetitive after awhile. Here's a quick script to automate the process:
$objects = `ls -sl` ;
for ($name in $objects)
{
$nameNull = $name + "_Null" ;
select $name ;
pickWalk -d up ;
$parentList = `ls -sl` ;
$parent = $parentList[0] ;
string $returnName ;
if ($name == "")
{
select -cl ;
warning "No object selected. Please select an object." ;
}
else
{
if ($parent == $name)
{
$returnName = `group -w -em -n $nameNull` ;
}
else
{
$returnName = `group -p $parent -em -n $nameNull` ;
}
$constraint = `pointConstraint -weight 1 $name $returnName` ;
delete $constraint ;
makeIdentity -apply true -t 1 -r 1 -s 1 -n 0 $returnName ;
parent $name $returnName ;
}
}
Just select the objects in question and run the script. If you have multiple objects selected, each will get it's own null node, snapped to it's respective pivot point. All pre-existing hierarchies will be maintained. I tried to make the script as robust as possible for basic usage. If you come across any bugs, or a way to simplify it, feel free to comment.
This is a good example of how even relatively simple MEL scripts can save time by automating everyday, tedious tasks. You can save the script as a shelf button, or map it in a custom rigging marking menu for easy access. Enjoy!
$objects = `ls -sl` ;
for ($name in $objects)
{
$nameNull = $name + "_Null" ;
select $name ;
pickWalk -d up ;
$parentList = `ls -sl` ;
$parent = $parentList[0] ;
string $returnName ;
if ($name == "")
{
select -cl ;
warning "No object selected. Please select an object." ;
}
else
{
if ($parent == $name)
{
$returnName = `group -w -em -n $nameNull` ;
}
else
{
$returnName = `group -p $parent -em -n $nameNull` ;
}
$constraint = `pointConstraint -weight 1 $name $returnName` ;
delete $constraint ;
makeIdentity -apply true -t 1 -r 1 -s 1 -n 0 $returnName ;
parent $name $returnName ;
}
}
Labels: Maya, MEL, Rigging, Tip of the Week
+ posted by Paul @ 10:07 PM 0 Comments | Links to this post
send this post to a friend: 
 
 
Wednesday, October 15, 2008
Tip of the Week:
Character GUI Generator
Here's a great script by Karim Kashefy, posted recently on Highend3D. It's a custom window for creating nurbs GUI for character rigs. It comes with a bunch of shape presets, as well as functions for setting the color, hiding/locking attributes, and freezing transformations.
Character Controllers

Labels: GUI, Maya, plug-ins, Rigging, Tip of the Week
+ posted by Paul @ 7:45 PM 0 Comments | Links to this post
send this post to a friend: 
 
 
Saturday, October 4, 2008
Tip of the Week:
Insert Edge Loop
The modeling tool set in Maya is impressive, and if you take the time to familiarize yourself with all of the tools and commands, you can really speed up your modeling.
Different people swear by different methods. I'm a huge fan of the insert edge loop tool, (previously referred to as the "split edge ring tool" prior to version 8.0-ish). It's extremely useful for rapidly adding detail to your mesh, and it's great for both organic and hard surface modeling.
In the example below, I used the split edge ring tool to add detail to a poly cylinder, and reshaped the mesh by scaling the new edge loops as I added them:

You could use this method if, for instance, you wanted to model a tree. You could start with a basic cylinder for the trunk and extrude out some branches. Once you have the basic layout, you can model the trunk and branches it into more organic shapes by adding edge loops. The strength of this type of modeling is that it allows you to rough the model in at a low-poly level and then go back to add detail.

Labels: Maya, Modeling, Tip of the Week
+ posted by Paul @ 12:37 PM 3 Comments | Links to this post
send this post to a friend: 
 
 
Monday, September 15, 2008
Tip of the Week:
Timeline Navigation - Part 2
Here's some more keyboard shortcuts for controlling playback in Maya:
Holding down Alt and pressing v toggles playback to start and stop. This again saves you from having to move the mouse down to the timeline controls every time.
And one that's sure be every animator's favorite: hold down k and use the middle mouse button to scrub back and forth in the timeline without having to physically grab it.
Labels: Animation, Hotkeys, Maya, Tip of the Week
+ posted by Paul @ 8:05 PM 0 Comments | Links to this post
send this post to a friend: 
 
 
Saturday, August 30, 2008
Tip of the Week:
Timeline Navigation - Part 1
Here's a convenient little keyboard shortcut to use while you're animating. Hold down the Alt button, and press the . and , buttons to move the timeline cursor forward and backward one frame at a time.
Use . on its own to skip ahead to the next keyframe and , to move back to the previous keyframe.
These shortcuts can save you from having to move the mouse up and down to the play controls all the time, especially when you have a large frame range visible and it's tricky to select precise frames you want without typing them in.
Labels: Animation, Hotkeys, Maya, Tip of the Week
+ posted by Paul @ 9:51 AM 1 Comments | Links to this post
send this post to a friend: 
 
 
Thursday, August 21, 2008
Tip of the Week: Hardware Z-Data
Z-data can be crucial in compositing for effects like depth-of-field and environmental haze. But sometimes it is tricky to write out good, clean z-data from Maya.
Rather than try to include the z-data as a channel in your primary renders, it's often best to just write out the data as its own pass. This is especially useful if your render is broken up into a lot of different layers for characters, set, etc. Your z-pass will include data for all the layers in your scene.
One quick way to do this is to render it in Hardware, using fog.
Apply a white surface shader to all the objects in your scene and then turn on hardware fog (Shading > Hardware Fog). Set the color to black and adjust the end value as necessary for your scene. (The higher the number, the greater the distance from the camera to absolute black). Make sure also that the falloff is linear.
To get nice sharp data, render it out with the hardware renderer at double-size, and scale it down in post.

Now you have a gray-scale image sequence representing your scene's z-depth. Bring the footage into After Effects or another compositing program, and you can use the layer as the source of a compound blur for depth-of-field or for a whole range of other tricks.
Labels: After Effects, Compositing, Maya, Rendering, Tip of the Week
+ posted by Paul @ 11:47 PM 1 Comments | Links to this post
send this post to a friend: 
 
 
Sunday, August 3, 2008
Tip of the Week: The Triple Switch Node
The Triple Switch Utility Node is a great way to streamline your shading work flow.
Lets say you have a scene that contains three objects that are all made of the same metallic material, but each has unique maps for bump and specular color. You want the rest of the material attributes to be the same across the board: diffuse, eccentricity, specular falloff, reflectivity, etc.
The way a lot of people would do this would be to create one shader, tweak the settings as desired, duplicate it a couple of times, apply them to the different objects, and attach the respective maps.
This works great. The problem is that later in the production, after some initial renders, you might want to go back and adjust the shader. Now you have to open up three different shaders and tweak the settings, and check to make sure they're all the same.
Now lets say instead of just three, you have ten, or a hundred different objects, all with the same material, but with different maps. Managing a hundred identical shaders is going to start to get pretty time consuming and tedious.
That's where the triple switch comes in. Create just one shader, plug the triple switch (found under the utility nodes) into the desired attribute, and it lets you designate different maps for different pieces of geometry. The maps can be either file textures or procedural.

It's called the "triple switch," because it's used for attributes that are made up of three components such as r,g,b or x,y,z. If you wanted to have a shader use different diffuse maps for different pieces of geometry, you would use the "single switch" node. There is also a double switch and a quad switch, to be used accordingly.
These three objects all have the same blinn assigned to them to make it easier to adjust them all at once, but they each have their own procedural map:

Labels: Mapping, Maya, Shading, Tip of the Week
+ posted by Paul @ 9:50 PM 0 Comments | Links to this post
send this post to a friend: 
 
 
Saturday, July 19, 2008
Tip of the Week:
Default Render Globals - Part 2
Did you know that you can keyframe render settings? Just select the defaultRenderGlobals node and right click on the various attributes in the channel editor to key them the same way you would any other Maya attribute.
Keying "Blur Length" is a great way to control motion blur for various effects, such as a spaceship jumping to light speed or making a fight scene more dramatic. You could also key "By Extension" if you wanted to render a particular region by 1 frame steps and another by fractional steps in order to playback in slow motion. (Or better yet, combine these two tricks and time-remap in post.)
It's also sometimes convenient to keyframe your quality settings if you have different regions of an animation with different needs, or to keep Maya from crashing on particularly troublesome frames when you're short on RAM. For this, you can't use defaultRenderGlobals. You have to select a related node called defaultRenderQuality. It's attributes aren't keyable by default, but you can make them keyable in the Channel Control Window.
Those are just a few practical uses in production. Feel free to chime in if you come up with any others that might be interesting.
Other useful rendering nodes worth experimenting with include:
defaultHardwareRenderGlobals
hardwareRenderGlobals
miDefaultOptions
miDefaultFramebuffer
mentalrayGlobals
strokeGlobals
defaultResolution
Play around, and see what kinds of tricks you can come up with.
Labels: Maya, Rendering, Tip of the Week
+ posted by Paul @ 10:04 AM 0 Comments | Links to this post
send this post to a friend: 
 
 
Tuesday, June 17, 2008
Tip of the Week:
Default Render Globals - Part 1
Ever send a render only to find out the next morning that it rendered with the wrong camera? Or that it rendered several wrong cameras and filled up your hard-drive with useless frames?
It's challenging sometimes to keep track of which cameras in your scene are "renderable," especially if you're using a complicated reference pipeline. (There've been times that I could've sworn I turned them off and they turned themselves back on.) Here's an easy way to manage them.
The defaultRenderGlobals node stores a lot of useful information, including a list of which cameras are renderable and what channels are included (rgb, alpha, z).

To select the node, just type defaultRenderGlobals into the selection field on the status line at the top of the screen and hit enter. Alternatively, you could type select -r defaultRenderGlobals and enter in the command line.
With the node selected, all you need to do is go down the list and check off which cameras you want to render.
Labels: Maya, Rendering, Tip of the Week
+ posted by Paul @ 7:38 PM 0 Comments | Links to this post
send this post to a friend: 
 
 
Sunday, June 1, 2008
Tip of the Week: Think Local
Here's a marking menu that even many experienced Maya users miss, but it's great for speeding up your workflow. If you hold down W, E, or R, and the left mouse button, a menu pops up to allow you to rapidly switch between Object, Local, and Global space. It keeps you from having to transform along an awkward axis (or from going to the Tool Editor every time to switch back and forth between modes).

While we're at it: also notice the "Align Along" option. It opens up a submenu with some useful features that allow you to do things like align the axis with a selected component, or manually type in a custom axis. Very useful for modeling and placing objects.
Labels: Hotkeys, Maya, Modeling, Tip of the Week
+ posted by Paul @ 8:11 PM 1 Comments | Links to this post
send this post to a friend: 
 
 
Wednesday, May 21, 2008
Tip of the Week:
The File Texture Manager
Ever open up an old Maya scene to find that all of your texture maps are missing because you've moved or renamed your directories?
The File Texture Manager by Crow Yeh is a must-have tool for Maya users. It lets you analyze all of the file texture nodes in your scene with the click of a button. You can move or copy files from one directory to another, re-route paths to reconnect missing textures, and even batch convert file formats and filter types.
It's really great for keeping things organized. Any time you're opening up old scenes, compiling assets from different sources, or building a large scene with lots of file texture nodes, the File Texture Manager is a huge timesaver.
Just download the MEL script from the above link and copy it into the "scripts" directory under "My Documents."
Labels: Mapping, Maya, plug-ins, Tip of the Week
+ posted by Paul @ 7:59 PM 0 Comments | Links to this post
send this post to a friend: 
 
 
Monday, May 12, 2008
Tip of the Week: UV Layout Made Easy
UV layout can be frustrating. Here's a trick to speed up unwrapping UV on a character's head or on other challenging pieces of geometry.
Doing a basic cylindrical projection on a head is a good start, but you wind up with overlapping UVs in areas such as the nose, mouth, ears, and chin. You can clean it up by hand, but it's not easy, and it doesn't always turn out well.
One solution is to start by duplicating your model and performing the "average vertices" command on it until the mesh is nice and smooth. This reduces the amount of overlapping geometry. Do a cylindrical projection on the smoothed-out model, and you'll have a much cleaner UV layout. Since the averaged mesh has the same topology as the original model, you can easily use the Transfer UV Set functions to copy your nice clean UV from one to the other.
Labels: Maya, Modeling, Tip of the Week, UV
+ posted by Paul @ 9:18 PM 1 Comments | Links to this post
send this post to a friend: 
 
 
Friday, May 2, 2008
Tip of the Week: Maya Hotkeys
Learning some of the hotkeys in Maya, along with mastering the marking menus, can accelerate your workflow up to lightning speeds. Two of my favorite hotkeys are:
"g" - Which repeats the last command. I find myself using this especially for speedy constraining when I'm rigging, or for repeated extruding during modeling. But the possibilities are virtually endless.
"y" - Which brings up the last "non-sacred" tool, which means the last tool you used other than move, rotate, scale, or pointer. I use this one constantly - especially for rapid modeling with the Split Polygon Tool or Split Edge Ring Tool. But again, it's great for anything, from the Joint Tool, to the CV Curve Tool, to the Paint Weights Tool.
Whatever your personal workflow, the "Last Command" and "Last Tool" hot keys are priceless.
Labels: Hotkeys, Maya, Tip of the Week
+ posted by Paul @ 4:55 PM 0 Comments | Links to this post
send this post to a friend: 
 
 
Tuesday, April 22, 2008
Tip of the Week:
Deleting Startup Cameras in Maya
Every now and then, I run into a situation where I want to delete one or more of the startup cameras in my Maya scene (ie: persp, side, front, or top). If you have ever tried this yourself, you've noticed that you get an error message.
Like most things in Maya, if you dive under the hood, you can find a workaround. By default, the startup cameras are "undeletable," but you can turn this attribute on and off. Here's a quick MEL script that I wrote to take care of it. Just select the camera(s) that you want to remove and run the script.
$selectedObjects = `ls -sl` ;
for ($obj in $selectedObjects)
{
camera -e -sc 0 $obj ;
delete $obj
}
One thing to note is that Maya won't ever let you remove all the cameras from a scene. If you delete them all, it will automatically generate a new one. Without it, there would be nothing to show in the viewport.
Enjoy :)
$selectedObjects = `ls -sl` ;
for ($obj in $selectedObjects)
{
camera -e -sc 0 $obj ;
delete $obj
}
Labels: Maya, MEL, Tip of the Week

