Project 5a: Object Rigging

Goal To learn basic rigging techniques such as connections and Set Driven Keys.
Prerequisite Exercises
Resources

The assignment will walk you through rigging an object using basic rigging techniques. The goal of rigging is to provide animators with useful tools to animate with. In general, rigging deals with characters, but for simplicity we will start by rigging an inanimate object. We will be using the Pirate Ship file for this assignment as well as the Animation menu set.

Your first task is to change the pivot points for the flaps and rudder of the ship into something more useful.

We will only be rigging the right side of the ship, so don't bother with anything on the left side.

If you open the Outliner, you will notice that everything is named reasonably well, but lacks organization. We will fix this.

Now we will start to create the controls to be used by the animators.

Instead of interacting with the geometry, animators will use these curves to animate the ship.

You might be wondering why the ship has two anims. The top con is there to place the ship in its initial position in the animation. The ship anim is there to let the animator move the ship relative to its initial position. This way if we ever need to move the ship to its starting point we can simply zero out the ship_anim. As a rule of thumb, you should never animate the top con since this will make it harder to move your animation to a different scene.

Finally we will create the control for the cannons.



Now we will tell Maya to use the current position as the defaults for the anims.

Notice in the Channel Box that the Translate and Rotate for the anims is now 0 and the Scale is 1. Freeze Transformations keeps an object's current position, but sets it to be the new default position of the object. This is useful for animators since it allows them to quickly return to the default position by zeroing out the Channel Box. (Transformations have already been frozen on each piece of ship geometry.)

We created a few more objects in the last step so we must clean up the Outliner again.

Now we have single top node again.

Even though rigging is a process of giving animators control over an object, it also seeks to hide details from the animator that they shouldn't be concerned with. The primary method for accomplishing this is restricting the channels, such as translate and rotate, that animators are able to key. To effectively remove a channel from the Channel box, select it then Right-click it and select Lock and Hide Selected from the menu.

If you accidently hid the wrong channel, you may be wonder where these channels went. You can find a list of all available channels by navigating to the Channel Box menu set and going to Edit → Channel Control. The channels you hid should be listed under Nonkeyable Hidden. Select them and move them to Keyable to unhide them.

Lock and Hide the following channels for each of the anims:

Now that we have locked away all the channels on the wheel_anim we will add our own custom attribute.

Although we have added a new attribute to the wheel_anim, at the moment it does nothing. We will fix this using the Node Editor. The Node Editor represents the scene as a series of nodes. These nodes can be connected, which allows the attributes of one object to control the attributes of another. We will use the Node Editor to make the Turn channel on the wheel_anim affect the rotation of the wheel and rudder.

To connect two nodes, expand the nodes by clicking on the bars across from the node name, pictured below. You can also expand each attribute, like Rotate, further by pressing the plus next to the attribute.

Click on the right circle on the attribute you want to connect and drag it to the left circle of the other node's attribute that you want it to control.


Try changing the value of Turn on the wheel_anim. The wheel and rudder should rotate as you change the value. Unfortunately, there is one problem with the current configuration. The wheel should be rotating in the opposite direction.

Luckily this can be fixed relatively easily by using a Multiply Divide node.

Changing the value of Turn should now yield the correct results. Below should be the final layout or the wheel_anim in the Node Editor.

We need to add controls so we can bring the cannons out and the flaps up.

We want to have the flaps come up when we change flaps_up, but if use a direct connection like we used with the wheel_anim, then all the flaps will rotate the exact same amount. We want a little more variation and so we will use Set Driven Keys instead. The general idea is that all the flaps will be down when flaps_up is 0 and they will all be up, in different ways, when flaps_up is 10.

Before using Set Driven Keys, make sure you go into your Animation Settings (the icon to the right of the timeline, next to Autokey) in Windows → Setting/Preferences → Preferences, set your Default In and Default Out tangents to "Clamped". If you don't do this, your cannon flaps will not smoothly change between the two positions, but will just jump up at the very end.



Set Driven Keys uses "Keyframes" like animating does, which means that a very useful tool is the Graph Editor. You can access this view by going to Windows → Animation Editors → Graph Editor. This view lets you select channels of your selected object and will display them on the main graph, with the x-value being time and the y-value being the currently selected channel value. With a channel selected, press f to focus in on the keys you have selected. For more information on the Graph Editor, see the Graph Editor Exercise.

Keying the value tells Maya that a flaps_up value of 0 means that all the flaps should be down. Now we want to specify what it should be at 10.

Try changing the flaps_up channel now. The flaps should go up and down as you change it from 0 to 10. If it jumps up immediately at 10 and does not smoothly transition, try looking in your Graph Editor to see if the keyed elements are clamped or are stepped; if they are stepped, set them to clamped, so you get a nice smooth curve for all of the rotate elements, and the flaps should now rotate up nicely.

To bring the cannons out we will use simple connections.

Changing cannons_out to 1 should cause all the cannons to move outward.

Your final task is to organize your rig into layers. These layers will prevent the animator from touching things they shouldn't and give them visual hints of what they are looking at.

You can add objects to a layer by selecting them and then Right-clicking a layer and selecting Add Selected Objects from the menu.

The two boxes to the left of the layer's color indicate the current visibility and display type. You can click these boxes to toggle the current setting.

With everything in its proper place, you should be finished.


Turn In You will be graded on the following: Turn the following into Canvas: