Maya Embedded Language
From Wikipedia, the free encyclopedia
The Maya Embedded Language is a scripting language used to simplify tasks in Alias' 3D Graphics Software Maya. Most tasks that can be achieved through Maya's GUI can be achieved with MEL, as well as certain tasks that are not available from the GUI. MEL offers a method of speeding up complicated or repetetitive tasks, as well as allowing users to redistribute a specific set of commands with others that may find it useful.
MEL is syntactically similar to Perl. It provides some memory management and dynamic array-allocation, and offers direct access to functions specific to Maya. This is an example of a script which copies a selected object through its path:
// animated duplicate/instance script proc animatedDuplication(int $rangeStart, int $rangeEnd, int $numOfDuplicates, int $duplicateOrInstance){ int $range_start = $rangeStart; int $range_end = $rangeEnd; int $num_of_duplicates = $numOfDuplicates; int $step_size = ($range_end - $range_start) / $num_of_duplicates; int $i = 0; int $temp; currentTime $range_start; // set to range start string $selectedObjects[]; // to store selected objects $selectedObjects = `ls -sl`; // store selected objects select $selectedObjects; while($i <= $num_of_duplicates) { $temp = $range_start + ($step_size * $i); currentTime ($temp); // seleced the objects to duplicate or instance select $selectedObjects; if($duplicateOrInstance == 0) { duplicate; } else { instance; } $i++; } }
// Usage example: // duplicate the current selection 5 times -- // evenly distributed between frame 1 and 240 animatedDuplication(1, 240, 5, 0);
Maya also offers an expression language that is a superset of MEL, and results in nodes that are executed as part of Maya's dependency graph. Expressions are developed with Maya's expression editor, and allow scripts to act while Maya evaluates the scene file, to simulate complex behaviors or perform other useful tasks.
[edit] References
- Mark R. Wilkins, Chris Kazmier: "MEL Scripting for Maya Animators"
- 1st, Morgan Kaufmann 2002; ISBN 1-55860-841-9
- 2nd, Morgan Kaufmann 2005; ISBN 0-12-088793-2
[edit] See also
[edit] External links
- Over 4000 free mel scripts to download at highend3d.com
- Largest Mel Forum at highend3d.com
- Homepage of the Maya Software
- MEL scripting discussion at melscripting.com
- The CGTalk.com MEL forum