Learning MEL – Step #1 – What is MEL? What Does MEL Do? Why MEL? A New Method

Hello to all users. I am going to begin a MEL tutorial series from the very beginning all the way to more advanced tutorials. First of all, I highly recommend you to read my article on Maya Relations Here.

What is MEL really? Why do we go through programming in Maya? Autodesk Maya provides a very satisfying UI which allows users of multiple level to deeply interact with. You can customize it to a very deep extent. It does not require you to learn MEL or Python, and still you are highly free in manipulating the elements. Nevertheless, MEL enables you to automate the process. To create repetitive tasks, managed jobs, systematized management and workflow, and innovative creation. Still, the most important task of MEL is its automating task. Automation must not be degraded with the name of automation  in your mind. What does it mean? I will explain it.

What does UI enable you to do? All the jobs are recorded in Maya script editor history one by one. Go to Maya script editor and then select Echo All Commands in the menu “History” of the Script Editor. Then every task that you do with Maya is recorded and shown in this window.

Now let’s begin to become more specific on the MEL.

1- MEL (Maya Embedded Language) I do not want to talk about MEL history and its ancestor, and some tiny unimportant details that are told one thousand times, and with a search on the net you can find them. I want to talk about MEL practically. To do something, to learn something as it could be applied in the software. Good.
MEL is a language in the software Autodesk Maya. This scripting language allows you to do task more professionally in the Autodesk Maya. There is another language available to Maya user which is Python. That is different. I do not intend talking about that. When you want to create/do something with Autodesk Maya MEL, you need the commands. Commands are executors of Maya real functions. Even in some cases they are directly the same Maya functions. But you can not say that maya has several parts: Modeling, Rendering, Animation, Rigging, Dynamics, Effects, Live, Lighting, Scripting etc. and I then choose scripting. You can be a modeler and a MEL programmer as well. MEL only allows you to boost your Maya Knowledge. Then it is necessary for you to be the master of some part[s] in Maya and move them high in level using MEL. When you want to create a sphere in Maya, the following command does the job:


Then it is essential to ask this question that:

Isn’t it essential to learn that Maya could create sphere, and why one must create spheres.

Then you know that when you create a sphere in Maya from the menu Create/Polygon/Sphere It creates a sphere in the center of the scene. But I can change the name of the sphere form the channel box or the attribute editor as well. How is it possible to be done using MEL. In quest of learning it, you search and find out that “polySphere” function in the MEL has a propoerty called “name”. So you write:

polySphere name=”testSphere”;

anyway, you soon understand that Maya reports a syntactical error in your script. I leave the narration here and become more scientifically concerned on the subject.

Linear learning of a programming language tells you that you must learn syntax first. Just as it was true with our language learning at the school. Nevertheless, it does not work. In recent theories (from 1970 up to now) in Teaching Language Methods, it has been proposed and also propagated, and eventually spread across the world that since a language is an instrument and not a target, we must teach language not linearly, but dramatically and in action. Talking about various topics such as health, psychology, sports, economy etc but using the new language. I agree with the method, as I myself have been taught English using this method which is called Communicative Language Teaching, or briefly CLT. To end this part, I could say you how to be taught MEL, and how to use it, linearly, but it is just boring, I teach MEL in action and explain parts whenever necessary.

I think now you know what MEL is and that what jobs it does, however briefly. It’s time to finish this first part of MEL series with the following two paragraphs. You need MEL. If you want to become a master in Maya, which means in industry and 3d creation, you have to learn a programming language. There is Python, more advanced, more technical and also updating, and usable in other applications such as Houdini and also in Web Development. But the story does not end in here, MEL is greatly documented for Maya, its child “expression” (which I talk about later) is living inside Maya. You can learn it easier, since it is all reported in Maya Echo All Commands much more better than Python. I learned PHP but just after learning HTML/CSS. It is relevant. Later the relation would be easier to grasp. Hence, MEL is crucial to learn. In a studio where its technical director is standing behind your chair watching your commercial modeling for their new advertising, he or she would not be satisfied to see you translating(that is, translate is “move” in Maya, and you must know it already) spheres manually by hand in the scene, he or she, rather, expects to see you writing  a MEL script, executing it, and have one hundred spheres manipulated across the scene all randomly.

In this first part, I talked about MEL and some points related to learning and using it. Keep in touch with this page, Learning MEL just would be filled with various tutorials on various applications of MEL.

Mostafa Talebi

MT Chart Designer Version


I have made some modification in this script. A custom frame range number is added, and max-amount for datapoints are now driven by upLimit value.

Stay up-to-date!

Some fun script would be uploaded within a few days. Now I’m just dealing with PHP.

Download MT Chart Designer Version

Creating and Rendering Charts in Maya

In this tutorial I will go through “how to design and create Charts in Maya”, I use a script to accomplish the goal, and after that a survey is done to get all rendering necessities for a nice look. This tutorial is not a just-finish-video but a true-explanation-video that gives you enough information to build the same chart. However I presume that you know Maya basics, still if not,, wouldn’t bring you much difficulty. One last point to add would be the quality of the video which is aimed toward making a commercial-friendly appearance.

MT Chart Designer Version

8pic.ir     مكاني براي آپلود رايگان فایل های شما

Download MT Chart Designer Version
MT Chart Design Version

or you can…

Download MT Chart Designer Version
MT Chart Design Version

Download MT Chart Designer Version
MT Chart Design Version

Animating and Designing Charts for various puposes now is possible
with one click and several simple settings. You may
render them with high quality shading to boost the
beautiness of your final production.

Chart Type:
Column would make for each data point a column, and cube
would do so with cube instead of the column. A curve type would be enabled
in future, however if I receive comments requesting this to make
myself sure that updates are welcomed.

Name: A namefield is used to allow users to keep a name for all of
their created nodes.

Frame Range: Since one of the principal usage of this script is to make
the Datas grow over time,  frame-limits are presented for the user to choose

Number Of Data Points are the number of statical columns/cubes you need.

Up Limit: As the name is explanatory, it is used for vertical limit of the chart.

Unit: After how many value a number must be used for vertical range. Try to use
numbers greater than 10. Still all numbers are possible.

Offset: Next to vertical bar, numbers are used with markers, this number set the space
between numbers and the vertical bar.

Data Points: Entering a number for your respective data point.The value entered must
be less than Up Limit number, otherwise process might malfunction.
For each data point a name field is used for making the appropriate
textual representation.

Under the Structure Tab there are several options:

Range Value Text Scale: Scale of the number next to the vertical bars.
Spacing: Space between various data points, changing this option affects on the whole chart. Use this option to make your chart desirable.
Base Final Offset: The space from the last data point to the end of base platform.

Range Bar Thickness: The thickness of the vertical bar.

Base Platform Thickness: The thickness for the base platform.

Data Point Scale: Scale for the columns and Cubes.

Data Text Scale: Scale of the texts below each individual data point, retrieved from UI.

Data Text Z Offset: The Z translation of each created Data Text.


In this work I have simulated a very thick (viscous) liquid in RealFlow and then exported the mesh into Maya, selected a frame (the most obvious) and begun the render job using Mental Ray. Early in the future an animated version would also be rendered. The expensive meshes and high quality render captured the machine for three hours to HD render the scene. Displacement for oranges is also used to promise no fake shadow as an annoying factor.

Oranges, Maya, Mental Ray, RealFlow, After Effects and Photoshop/

Here, I have put also a scene-captured animation of the scene:

Simulating Wine Pouring in RealFlow and Autodesk Maya

Here I have simulated a wine from a bottle into a cup, have meshed them so that I could easily provide a render of it; unfortunately I have not yet made rendered animation due to time issue, but a playblast (scene captured-animation) and two snapshots.

Here are two snapshots: