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
Communicating between Python and MEL
MEL and Python in Maya each have built in commands to communicate with
each other. MEL and Python communicate by calling commands in the other
language and evaluating the results of the last executed command.
Python communicates with MEL using the eval() command. Unlike the other
Python commands in this lesson, the eval() function does not belong to the
Maya commands module (maya.cmds). The eval() function belongs to the
maya.mel module. The eval() function can call MEL scripts or execute MEL
commands by sending the commands as a string. Multiple MEL commands
can be called in the string by separating the commands with semi-colons. The
Python eval() function returns the results of the last executed MEL script or
command within the eval brackets.
MEL communicates with Python using the python command. The python
command accepts a string as its only argument. The string is sent to Python
to be evaluated, and the result is returned to MEL. As Python has a more
descriptive type system, some results from Python commands returned to
MEL have their data type modified. For more information on type conversion,
see MEL/Python communication of the Python guide.
To call MEL commands from Python
1 Select a Python tab in the Script Editor
2 Import the MEL module
import maya.mel
The maya.mel module is a module for evaluating MEL expressions in
Python.
3 Call a MEL command by typing the following:
maya.mel.eval("sphere -radius 3;")
A sphere of radius three is created at the origin, just as if you had used
the Python command.
4 Select a MEL Tab in the Script Editor
5 Declare a variable in the MEL tab by typing the following:
global float $MyMELVariable=22.7;
Only global MEL procedures, variables and scripts are accessible from
within Python.
654 | Chapter 13 Scripting in Maya