2009
Table Of Contents
- Contents
- Overview
- Maya Basics
- Polygonal Modeling
- Introduction
- Preparing for the lesson
- Lesson 1: Modeling a polygonal mesh
- Introduction
- Setting modeling preferences
- Using 2D reference images
- Creating a polygon primitive
- Modeling in shaded mode
- Model symmetry
- Selecting components by painting
- Selecting edge loops
- Editing components in the orthographic views
- Editing components in the perspective view
- Drawing a polygon
- Extruding polygon components
- Bridging between edges
- Adding polygons to a mesh
- Splitting polygon faces
- Terminating edge loops
- Deleting construction history
- Mirror copying a mesh
- Working with a smoothed mesh
- Creasing and hardening edges on a mesh
- Beyond the lesson
- NURBS Modeling
- Subdivision Surfaces
- Animation
- Introduction
- Preparing for the lessons
- Lesson 1: Keyframes and the Graph Editor
- Lesson 2: Set Driven Key
- Lesson 3: Path animation
- Lesson 4: Nonlinear animation with Trax
- Introduction
- Open the first scene for the lesson
- Creating clips with Trax
- Changing the position of clips with Trax
- Editing the animation of clips
- Reusing clips within Trax
- Soloing and muting tracks
- Scaling clips within Trax
- Open the second scene for the lesson
- Creating clips from motion capture data
- Extending the length of motion capture data
- Redirecting the motion within a clip
- Beyond the lesson
- Lesson 5: Inverse kinematics
- Introduction
- Open the scene for the lesson
- Understanding hierarchies
- Viewing hierarchies using the Hypergraph
- Creating a skeleton hierarchy
- Parenting a model into a skeleton hierarchy
- Applying IK to a skeleton hierarchy
- Creating a control object for an IK system
- Constraining an IK system
- Limiting the range of motion of an IK system
- Simplifying the display of a hierarchy
- Applying parent constraints on an IK system
- Planning an animation for an IK system
- Animating an IK system
- Beyond the lesson
- Character Setup
- Polygon Texturing
- Rendering
- Introduction
- Preparing for the lessons
- Lesson 1: Rendering a scene
- Introduction
- Open the scene for the lesson
- Creating shading materials for objects
- Refining shading materials for objects
- Maya renderers
- Rendering a single frame using IPR
- Rendering using the Maya software renderer
- Batch rendering a sequence of animation frames
- Viewing a sequence of rendered frames
- Beyond the lesson
- Lesson 2: Shading surfaces
- Lesson 3: Lights, shadows, and cameras
- Lesson 4: Global Illumination
- Lesson 5: Caustics
- Dynamics
- Painting
- Introduction
- Preparing for the lessons
- Lesson 1: Painting in 2D using Paint Effects
- Lesson 2: Painting in 3D using Paint Effects
- Introduction
- Preparing for the lessons
- Brushes and strokes
- Rendering Paint Effects strokes
- Paint Effects on 3D objects
- Creating a surface to paint on
- Painting on objects
- Using turbulence with brush stroke tubes
- Using additional preset brushes
- Mesh brushes
- Converting mesh strokes to polygons
- Modifying a converted polygonal mesh
- Beyond the lesson
- Lesson 3: Painting textures on surfaces
- Expressions
- Scripting in Maya
- Index
Ball.scaleX = time + 1;
Ball.scaleY = Ball.scaleX;
Ball.scaleZ = Ball.scaleX;
The second statement sets Ball.scaleY to the value of Ball.scaleX. Because
you’ve set Ball.scaleX to the value of time + 1, Ball.scaleY also has the value
of time + 1. You’re linking one attribute’s value to another. The third statement
also sets Ball.scaleZ to the value of the attribute Ball.scaleX.
The advantage of this expression is that if you assign a different value to
Ball.scaleX in the first statement, the second and third statements automatically
receive the new value.
Controlling attributes in two objects
You can add an object to the scene and use the expression to control any of
its attributes also. For example, suppose you added a default NURBS or
polygonal cylinder named Drum to the scene. You could control the attributes
of Ball and Drum with the same expression as in this example:
Ball.scaleY = time/2 + 1;
Drum.scaleX = time + 1;
Drum.scaleY = time + 1;
You can link attributes in different objects—so a change in one attribute alters
the behavior of the other. For example, you could cause Drum’s scaleY value
to always equal two times Ball’s scaleY value as in this example:
Ball.scaleY = time + 1;
Drum.scaleY = Ball.scaleY * 2;
If you decide to control attributes in two (or more) objects, you can select
either object to write the expression. In fact, any object or node in a scene
can be selected when you write an expression to control an object other than
a particle object.
Alternatively, you can write two (or more) expressions, for instance, one that
controls Ball.scaleY and one that controls Drum.scaleX and Drum.scaleY.
The advantage of creating separate expressions is that you’ll have two
expression names, each presumably named after the object and attribute you’re
controlling. Having two expression names makes it easier to find the expression
that controls the desired attribute.
The advantage of using a single expression to control the attributes is that all
statements are in a single expression. You don’t need to edit two expressions.
572 | Chapter 12 Expressions