f
f
Global SectionArticlesBookstoreDictionaryDownloadsDVDsEventsForumsGalleryJob ListingsNewsNewslettersSchools
 Advanced Search
USER: PASS:  Login  Register

Subscribe
Site Links
Home > Maya > Tutorials > Scripting > Mel > Conversational MEL Part 1 > Page 1 Change background colorChange background colorChange background colorChange background color
Conversational MEL Part 1
Tutorial by James Piechota an
Login to add a Bookmark Discuss this tutorial in it's Forum 3 votes for an average rating of 3.67

Updated:   11/29/06

Works on:    Irix  Windows  Linux  MacOS-X
Maya Versions:   1.x, 2.x, 3.x, 4.x, 5.x, 6.x, 7.x
Readership Level:   Basic
Owner:   JamesPiech
Author Name:  James Piechota an
Homepage:   http://www.NimbleStudiosInc.com

Conversational MEL Part 1




Topics Covered:MEL commands, flags, and argument; Maya scripting UI;
Sample Script:A window to hold common tasks


This is the first of several tutorials on MEL. Well be starting from the very beginning with this article, and quickly picking up speed in the future. By the end of this article you will have learned what a MEL command is and how to interpret its different parts, how to quickly automate simple tasks using MEL, and, finally, how to build a small piece of custom UI.

What Is Mel?

Technically MEL stands for Maya Embedded Language and could be described as an interpreted scripting language that interfaces directly with Mayas core libraries. Besides being boring enough to make you question reading this article further, those definitions miss the point: MEL is an easy way to take your art to the next level. Everything you do, and almost everything you see, in Maya is driven by MEL. Menu items, check boxes, sliders, heads up display, outliner, attribute editor, etc... All of it is created using MEL. When you check a check box, slide a slider, manipulate a manipulator, or do pretty much anything in Maya, a little bit of MEL is executed. This tight relationship between MEL and the rest of Maya means MEL is a powerful tool for doing such things as:

  • Automating repetitive tasks and reducing your click-count - with MEL you can write a script that performs far more clicks and drags than you could do in your typical 100-hour work week!
  • Building custom UI to suits *your* needs - if youve complained about the apparent stupidity of some part of Mayas UI, then MEL is for you!
  • Leverage the power of modern computers to perform advanced math and invent the next great effect or tool!
  • And much more!

I realized Ive dodged the question posed big and bold at the start of this section: What is MEL? Well get into some of the details later, for now its enough to know that MEL is powerful and, as youll hopefully see by the end of this article, very accessible.

Command Line and Script Editor

Now that Ive got you hooked with that hand-wavy, one MEL to rule them all talk - its time to bring things crashing back to reality: MEL is a programming language. It is made up of commands, flags, arguments, loops, conditionals and other scary (boring?) sounding things. To use MEL you will need to type out commands and pass them off to Maya.

But its not that hard - really. In fact you can do it right now. If you look at the bottom of your Maya window you should see two fields called the Command Line and the Command Feedback:

Command Line and Status Feedback

The Command Line is an input field into which you can type small chunks of MEL quickly. The Command Feedback displays information about recently executed MEL commands and will turn red if there were any problems.

Thats all you need to know to get started - why dont you give it a whirl, type something into the Command Line and hit Enter ...


... Done? Chances are if youve never written any MEL before you got an error - maybe youre a wise guy and typed something into the Command Line, or maybe you entered something more like this:

Command Line Error

If so, youll note that the Command Feedback field is red indicating that there was an error:

Error: line 1: Cannot find procedure "alsdjf".

I mentioned before that MEL is made up of commands (sometimes referred to as procedures). A MEL command is a special word or series of words that can be used to tell Maya to take some action. This is similar in concept to the spoken commands you encounter daily: Sit, Work late tonight, One shot - these are all spoken commands that you might use with dogs, employees, or friends.

When you speak one of these commands you expect a response - usually a specific response particular to the given command. If your boss tells you to work late tonight shes expecting you to, well, work late tonight. And if you tell your dog to sit you wouldnt expect him to walk over to Starbucks and buy himself a cappuccino. This same premise applies in Maya: MEL commands are words linked to actions. When you invoke a MEL command by typing it into the Command Line you cause Maya to perform a particular action specific to that command.

Not every word or series of letters has an action linked to it - put differently: there are a limited number of valid MEL commands. Attempting to type anything but a valid MEL command into the command line will result in an error like the one we saw above. Similarly, if you turned to your friend and told him to alsdjf! hed probably just tell the bartender you'd had enough for the evening.

So weve determined that neither alsdjf nor something are valid MEL commands - what is? To answer this lets take look at another piece of MEL-friendly UI: the Script Editor.

Launch the Script Editor
Script Editor Error

The Script Editor can be launched from the button on the lower right hand side of Maya or through the Window > General Editors > Script Editor menu item. First thing you might notice is a log of our initial foray into MEL:

alsdjf;
// Error: line 1: Cannot find procedure "alsdjf". //

In short the exact same information we got from the Command Line and Command Feedback. However if you scan your eyes up a bit youll see a few other messages - logs of commands executed earlier in your Maya session. This top half is referred to as the History Pane. And the bottom half is the Input Pane.

Script Editor Panes

The Input Pane is simply a bigger, better Command Line - here you can type multiple MEL commands at once divning many lines. Because you can have multiple lines of MEL commands the Enter key resumes its traditional role of inserting a carriage return. To execute a command (i.e. invoke it/issue it/send it to Maya) you have to either hit Ctrl+Enter or use the Enter key found on your numeric keypad. Once you execute commands in the Input Pane they disappear and move up to the History Pane - to keep them in the Input Pane simply select the commands before executing them.

.




Continue Tutorial:  1 2 3 4 next page

Login to add a Bookmark Discuss this tutorial in it's Forum 3 votes for an average rating of 3.67

Latest Forum posts about this Tutorial


Discuss in Forums

Related Learning Tools
Maya Related DVDs



Digital Sets 3: Rendering and Compositing
Maya Related Books



Learning Autodesk Maya 2009: Foundation
Global DVDs



Detailing Characters: ZBrush Alpha Library

Top Rated Maya Tutorials

1. Random Rotation of Objects using MEL by Prashanth (04/26/06)
2. Conversational MEL Part 3 by James Piechota an (11/30/06)
3. How to make a fun pause screen using mel by TJ Galda (11/15/07)
4. Conversational MEL Part 2 by James Piechota an (11/29/06)
5. How to sample color at any given point in a ramp by TJ Galda (04/08/08)


Related Tips


No Results to Display


More Tutorials by JamesPiech

1. Conversational MEL Part 3 by James Piechota an (11/30/06)
2. Conversational MEL Part 2 by James Piechota an (11/29/06)
3. Conversational MEL Part 1 by James Piechota an (11/29/06)






Sponsors

Sponsor

Contact Us | Advertise | Post Jobs | Post News | Post Events | Terms