Building scene hierarchies
So far, you have worked a lot with the dependency connections but not with the scene hierarchy. In a hierarchy, you always work with transform nodes. You can make one transform node the parent of another node, thereby creating a child which must follow the parent. You will build a hierarchy of spheres that are rotating like planets around the sun. This example is a helpful way to understand how scene hierarchies work. In the Hypergraph panel, click on the Scene Hierarchy button. Go to the...
Reference an image file
Open the Attribute Editor for the filel node. Click on the Browse button next to Image Name. In the sourceImages directory, open the logoStencil.tiff file. The logo image is mapped as a texture onto the material.
Adding a pupil attribute
You have now linked attributes to the scaling of a cluster and the sweep angles of a sphere input node. Another node type that can be controlled is a texture node. You will now control the size of Salty's pupils to give you more control over the facial look. You could use Set Driven Key but for comparison, you will use an expression. Make sure that the eyeControl group is selected. Select Modify Add Attribute In the Add Attribute window, set the following 2 Get the ramp position attribute...
Select Surfaces Birail Tool
Click on the four defining character curves in the following order A surface is created along the top of the spaceship. Birail surface showing selection order of curves Birail surface showing selection order of curves Note If there is no surface produced, then your profile curves may not be touching the rail curves. Should this be the case, then undo your surface creation then go back and rebuild the rails. Also note that you must have Show gt Surfaces on for your view panels to see them...
Writing the script
You will write the blink procedure not in the Script Editor but in a text editor. A text editor is an application that lets you quickly work with text then save in a generic text format. When you are working in UNIX, In a UNIX shell, open a text editor such as Jot or vi. 2 Type comments to create header information Every script should start with a header that contains important information for other people who might read your script later. Below is tW0Qd an example header. The that is placed in...
Assigning the file textures to shading groups
Create one Maya shading group for each surface of your model, and then link the texture files to the shading groups, and assign a shading group to each surface. Go back to the Maya workspace. 2 Create one shading group for each surface Your Maya scene is now set up without the new textures. You will need to set up shading groups for each surface. The workflow outlined here will have to be repeated for every surface. Select Edit gt Create from the Multilister. Select one of the Surface Materials...
Building Salty
This lesson shows you how to build your first Maya character - Salty the seal. Starting with a primitive sphere, you will edit the surface's control vertices to give the sphere a more complex, organic shape. You will also build flippers out of primitive cylinders. These surfaces can then be bound to skeleton joints to begin setting up fluid character deformations when Salty is animated in Lesson 7. In this lesson you will learn the following create a new layer work with selection modes and...
Add a new shear node for the ball
In order to make sure that the new animation layer is applied in the correct order, you will add a new node to the hierarchy. In the following diagram, you can see that when you shear first then scale, you get a different result than if you scale first then shear. In an animation, the differences become even more apparent.
Move the nodes using Freeform mode
Make the Hypergraph panel full screen. Click on the Toggle Freeform Automatic Layout Mode button. Dolly out until you can see all off the nodes. With the left mouse button, drag the left and right eyes groups, the nose node, and the whisker node next to the head joints. Double-click on the top nodes of the left and right eye groups. This collapses the hierarchies into a single node. This will make it easier to work with these two nodes. Click-drag on the nodes with the left mouse button to...
In Render View select Render Redo Previous Rendering
Notice the effect of the bump map, and the difference in the specular qualities between the main color areas of the surface. The layer of grime that is produced by the solid fractal texture is also clearly visible. Rendering of polyShip with textures and dirt Rendering of polyShip with textures and dirt let you compare the two modeling techniques. Later, you will animate the two ships in a space battle. Note The effect of the reflectivity texture will not be seen until later in the project,...
Select Shading Assign Shading Group polyShipSG
The Attribute Editor opens to the polyShipBlinn material node. Map the Bump Mapping attribute with a File 2D texture node. In the sourceimages directory, open the polyBump.sgi file. Bitmap file for material bump map texture Bitmap file for material bump map texture Note Because the color texture map used the default texture placement node settings, you will not need to adjust the values of the placement nodes for the other file textures.
Building the eye control node
You could now animate the eyes by keying the position of the locators to determine where Salty is looking, the start and end sweep of the makeNurbSphere nodes to make Salty blink , or the scale of the Clusters to give Salty a worried look . One problem, however, is that all of these parts are buried within the eye assembly. You will now group the two locators and create an eye control, node which will be linked using expressions to control all of the items mentioned above. By creating this...
Updating the polyShip animation
At the moment, the polyShip is flying right past the explosion as if nothing is happening. You will now set keys on the path animation's twist attribute to animate the ship reacting to the explosion. When you set keys on the motionPath node's twist attribute, you will create new orientation markers that will work similar to the position markers which you learned about in the previous lesson. Select the polyShip using its selection handle. This should pick the node's polyShipAnim node. In the...
Create a shading group
When you create a shading group you are creating two main nodes that are connected - the shading group node and the material node. Go to the Rendering menu set. Select Shading gt Create Shading Group gt Phong - . In the option window, click on the Color swatch and make the color a bright blue. Click OK to close the Color Chooser then Create and Close in the Shader Options window. In the Hypergraph view, you will notice a new dependency network being shown under the sphere nodes. You can move...
Refining the flipper
The rotations on the flipper are a little harsh. To improve the look of this profile, you can rotate and move the various rows of CVs to complete the shape. Click on the Select by hierarchy Click on the Template selection mask option. Select the templated skeleton joints and the seal surface. Select Display Object Components 3 Move the flipper up to the body surface Press F8 to go to the Object select mode. Select the flipper surface. Move the flipper until its end is penetrating the side of...
Make the ball bounce on the deck
Go back to the Dynamics menu set. With the deck still selected, select Bodies gt Create Passive Rigid Body. Now the ball is blowing to Salty's right and it is bouncing off the floor surface. Keep in mind that if you still want to finesse your animation, you can always fine tune the wind force attributes such as magnitude, direction and speed. Likewise, you can adjust the weight, mass and gravity of the ball. Once you have made your edits, you can replay the simulation.
Bind the surface to the joints
You must now bind the surface to the joints. Before you start, you need to change your selection masks to include surfaces. From the black arrow next to the selection mode icons, select All Objects On. Tip It is very easy to forget that you have set a particular selection mask. When you try to select a different object type, you are unable to pick anything. The joints should already be selected. Press the Shift key and click on the surface to add it to the selection. Select Skinning gt Bind...
The side shape
From the Front view panel, you can see the side of the flipper. You will now reshape this profile to make the cylinder resemble a flipper. In the Front view, dolly until the cylinder fills the panel. Press the Shift key and with the left mouse button add the next two rows to the selection. Click-drag along the X-axis to scale the CVs out a little. Dolly in closer to the last few rows of CVs. Click in empty space to deselect the current CVs. Click-drag a selection box around the lower middle two...
Drawing a skeleton leg
You will start by creating the skeleton's legs. This will involve creating the joints then later you will add IK chains. Go to the Animation menu set. In the Front view, track the view to place the X-axis line at the bottom of the view. Select Skeletons gt Joint Tool. In the Front view, press the x key to use grid snapping, then click three times to place the following leg joints Now click two more times using grid snapping to place the following foot joints Press the Enter key to accept the...
Project tangent for profile curve
Before creating the side birail surface, you will create a tangency from the top and bottom surface to the side profile curve. Select the top surface and the side profile curve. Select Curves gt Project Tangent. Repeat these steps using the bottom surface and the profile curve. You will notice that the profile curve is now projecting with a tangency from the top and bottom surface.
Set Editor
In the Set Editor, scroll down to the Note You will notice other sets have been generated when you bound surfaces into the skeleton, and when you made the eye lattice clusters. You may also notice that sets are created for shading groups. Click on the triangle icon next to cluster3Set to see a list of the CVs. Click on the first CV in the list. Note Once it is picked, the CV is highlighted in the view panels. Conversely, if you were to pick one of the CVs in the views, its name would highlight...
Building an explosion
Using a new point light, you will set keys for a number of light attributes to create the effect of an explosion which will occur at the tip of the polyShip's wings. Select Lighting gt Create Point Light. 2 Animate point light coming into scene Move the light to the same position as the first point light. 3 Edit the point light attributes In the Attribute Editor, open the Point Light Attributes section and set the following Click on the Map button next to Light Fog. In the new fog node, click...
Select the edge isoparms
Press z to undo the last align. Click on the new surface with your right mouse button and select Isoparm from the pop-up menu. Click-drag on one of the longitudinal isoparms and drag to the edge of the surface. When you release your mouse button, a yellow line will indicate your selection. Click on the other surface with your right mouse button and select Isoparm from the pop-up menu. Press the Shift key and click-drag on one of the longitudinal isoparms and drag to the edge of the surface....
Untemplate and move the thruster
In the Perspective view, tumble to see the back of the ship. Click on the Select by hierarchy button, then click on the Select by hierarchy Template button. Select the templated thruster surface. Click on the thruster with your right mouse button and select Actions gt Template from the pop-up menu. Move the thruster until it intersects the top of the ship's hull.
Map the materials incandescence
Map the Incandescence attribute with a Solid Fractal 3D Texture. Rename the texture node clouds1. In the Solid Fractal Attributes section set Threshold to 0.5 Amplitude to 0.8 Ratio to 1.0 In the Color Balance section Solid fractal settings for incandescence map Solid fractal settings for incandescence map
Display resolution gate
Currently, the Render Globals are set up to render at an aspect ratio of 320 x 240 pixels. Since your current view panel uses different proportions, you can use the resolution gate to see how the scene will actually render. Move your cursor over the Perspective view panel. Use the hotbox to select View gt Camera Settings gt Resolution Gate. The view is adjusted to show how the default render resolution of 320 x 240 pixels relates to the current view. Dolly into the view so that it is well...
Rename joints in the Hypergraph view
In the Hypergraph view, click on the Scene Hierarchy button. Dolly and track until you see the joints that belong to the head. Press the Ctrl key and click on joints to rename them. Rename the head joints as shown below
Delete connections
You can delete the connections in the Hypergraph view. In the Hypergraph view panel, select one of the three connection arrows between the transform node and the material node. Press the Backspace key to delete the connection. Repeat for the other two connections between these nodes.
Turn on hardware texturing if possible
Hardware texturing allows you to see your textures interactively on the screen as you work. This helps you visualize your animations and to preview basic rendering effects. Note Only if your computer is equipped with texture RAM, can you take advantage of hardware texturing. If not, then you will have to edit the attributes as shown in the steps below and wait until the test render section to preview the results. Move your cursor over the Perspective window. texturing by moving the cursor over...
Apply the checker node as a color map
The new texture node can now be dragged from the Texture section of the Multilister up to the shading group node. In the Multilister, click-drag with your middle mouse button on the checker node. Drag it onto the ballSG shading group and release the mouse. adinfl initial Particle I shaderGlowl floors G H phongi pall S G adinfl initial Particle I shaderGlowl floors G H phongi pall S G The texture is now connected to the shading group as a color map. Click on the ballSG shading group's icon...
Key Saltys cluster handle node
Select the clusterHandle node using its selection handle. Playback the animation then press the stop button around frame 230. Press the frame forward button to go to forward to frame 240. Move the time forward one frame at a time until the ball hits the ground. This should be around frame 305. Move Salty's cluster handle along the Z-axis then down along the Y-axis so that Salty is looking at the ball. Press the s key to set keys for the keyable channels. Tip If you had simply scrubbed over to...
Animate the heel rotation
In the last lesson, you spent a great deal of time preparing the foot for the heel to toe motion that a foot goes through when walking. You are now going to use Auto Key to keyframe the foot rotations to take advantage of your work. 1 Set a key on the right foot's roll Select the right foot using its selection handle. Rotate the foot forward until it is pivoting around the ball of the foot. In the Channel box, click on the Rotate Z channel name. Click with the right mouse button and select Key...
Animate the feet sliding
You will now key the horizontal positions of the feet to establish their forward movement, in relation to the forward movement of the pelvis. This will result in a sliding motion on the feet. You will key the starting position of the two feet in the position of a full stride. In the Perspective window, select the foot selection handle for the left leg. Move the handle forward along the X-axis. The joint at the knee should not flatten and the ankle joint should remain with the pivot point. Press...
Render the background image
Select Render gt Render Globals In the defaultResolution tab In the defaultRenderQuality tab, set the Recommended Defaults to Production Quality. Click in the Perspective window to make it active. Select Render gt Render into New Window
Building a custom UI script
In the next section, you will write a second script that will build a custom user interface window that includes a slider for the blinkDelay variable and a button that executes the blink procedure you scripted earlier. In Maya, you have the ability to use MEL to build custom user interface elements. Start the script with a commented header that helps others read your work. While this was taught earlier, it can never be emphasized enough. Creation Date Today's date Learning Maya tutorial script...
Select Curves CV Curve Tool
In the Side window, track the view to the left. Press and hold the x key to use grid snapping and click on the Z-axis line to start drawing a curve. Release the x key to stop using grid snapping and draw the next six CVs as shown below The curve is shown with a box icon representing the first CV and a U icon representing the direction of the curve. Just like X, Y and Z are used to represent spatial dimensions, U is used to represent measurements along a curve.
Procedural animation
If Maya's procedural nature is defined as nodes with attributes that are connected, then a procedural animation would be set up by animating attributes at various levels of a Dependency graph network. You will now build a series of animated events that build on each other to create the final result. Go to the Modeling menu set. Select Curves gt EP Curve Tool. Press the x key to turn on grid snap. Draw a curve as shown below. When you are finished, press the Enter key then select Modify gt...
The preferences directory
The prefs directory contains files that tell Maya how you want your system configured. The various user interface settings you work with in Maya such as hotkeys and shelf layouts are recorded here. How to reset your preferences safely If you want to return Maya to its default settings, you can simply delete the prefs directory. Before you delete it, you should rename the existing prefs directory in case you need any of your previous settings. This is especially important if you want to work on...
Importing the painting proxy into StudioPaint D
The first thing you need to do in StudioPaint is to set your current project to match the Maya project. You can then import and export files correctly. 1 If it is not already running, start StudioPaint 3D See Opening the program on page 2 of the StudioPaint 3D 4.0 User Guide. 2 Import the Alias wire file into StudioPaint 3D Select File gt Import gt 3D Geometry Or 3 Set the Maya project as the current project for StudioPaint 3D From the Import window, enter the pathname for the Maya project...
Visual Effects
In this lesson, you will add visual effects to your spaceship scene. The first few effects will use Maya's Digital OptiF X capabilities. These effects include the photon blasts that are being shot at the polyShip, the photon's explosion and the nurbShip's thruster flame. If you have the Maya F X module, you will then add software rendered particle effects. First you will add a particle thruster flame and then you will add smoke to the polyShip's wing after it is grazed by the OptiF X explosion....
Working with Maya Gbm
essentials and focus on its marking menu capabilities. Alternatively, you could hide the other UI elements such as panel menus and use the hotbox for access to everything. You get to choose which method works best for you. select, move, rotate, scale and show manip tools. Each of these is laid out to correspond to a related hotkey that can be easily remembered using the QWERTY keys on your keyboard. These tools will be used for your most common tool-based actions. These mostly include selecting...
Adding a blink attribute
Another useful control would be a blink attribute. This would allow you to control the opening and closing of the eyes using a single attribute, instead of working with the two sweep attributes on two separate input nodes. Make sure that the eyeControl group is selected. Select Modify Add Attribute. In the Add Attribute window, set the following 2 Use blink to drive the sweep angles To drive the opening and closing of the eyeLid, you are going to again use Set Driven Key. This time you will use...
Projecting the texture
The texture you are mapping onto the spaceship has been created as a sort of decal sheet. You will be using the polygon projection methods to map the parts of the decal sheet to different parts of the ship. Shown below are the main parts of the ship labeled. Later, you will see how the decal sheet will work. In order to properly project the texture map onto the polymesh object, it is necessary to be able to select the facets on opposite sides of the object at the same time. This can be done by...
The Hypergraph
Whenever you create a group of objects, you create a transform hierarchy. In the last project, you learned how to look at these hierarchies in the Outliner. The Hypergraph offers a more diagrammatic view of the same information. When working with hierarchies, you can either work with the top or root node, or you can work with the lower leaf nodes. Complex animations are possible when you combine animation at different hierarchy levels. Click in empty space to clear your selection. From the Top...
Creating the polyShip shading
The polyShip will be textured using a single shading group that contains several texture maps. The method of positioning the texture on the surface will be accomplished using the polygon texturing tools. Select Panels gt Saved Layouts gt Four View. Select Display gt Grid to hide the grid in the view panels. This will help you see the texture projection planes. Recommended layout for this tutorial section Recommended layout for this tutorial section Create and assign a new shading group Change...
Creating the eyelid
You are now going to build an eyelid out of another primitive sphere. The input node will be used to set the start and end sweep of the sphere which help create the blinking action. 1 Place a second primitive sphere Return to the Modeling menu set. Select Primitives Create NURBS Sphere. In the Channel box, rename the nurbSphere node to eyelid. Increase the object's smoothness using the techniques taught in earlier lessons. In the Channel box, select the makeNurbSphere input node. Press the x...
Animate the pelvic rotations
To create a more realistic action, the pelvis' position and rotation will be set to work with each step. You can again set keys for the translation and rotation of the pelvis using Auto Key. 1 Key the Y translation of the pelvis When the character walks, the pelvis will raise as each foot is raised then lower as the both feet touch the ground. Select the pelvis joint using its selection handle. In the Channel box, click on the Translate Y channel name. Click with the right mouse button and...
Add directional lighting
Change to the Rendering menu set. Select Lighting gt Create Directional Light. Move and Rotate the light so that it is pointing towards the front of the polyShip from above. Select Window gt Attribute Editor Set the Color to a light yellow. Open the Shadows, and then the Depth Map Shadow Attributes Turn on Use Depth Map Shadows. Depth Map Shadows set for directional light Depth Map Shadows set for directional light From the Perspective panel menus, select Lighting gt Use All Lights. Hardware...
Adding a flexor
The other problem you encountered with the deformations was with the back of the knee. You can fix this using a lattice flexor. A flexor is a deformer that is automatically bound into a joint hierarchy while being applied to the associated surface. Select Skinning gt Create Flexor In the Create Flexor window, set the following Select the rfootc node using its selection handle. Move the group to see how the foot reacts now. You are getting a more subtle effect on the inner side of the knee while...
Map reflectivity
The reflectivity map is quite simple. Where the map is black, you will not get reflections - but where the map is white, you do. This map will not show you any results until you either raytrace the scene or add a reflection map. Return to the attributes for the Hold down the right mouse button on the Reflectivity attribute. Select Create New Texture from the pop-up menu. Create a File texture node. Rename the file node polyReflect. Connected the polyReflect node to the polyReflect.sgi image...



































