22:
145:
language where MEL just instructs Maya's node architecture to solve the problem. Since nodes form the actual computational core of Maya using a more robust readily apparent programming method would be a very inefficient approach. In many ways MEL complements the Maya API, with somewhat clear
106:
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 repetitive tasks, as well as allowing users to redistribute a specific set of commands to others that may find it useful.
123:. It provides some memory management and dynamic array-allocation, and offers direct access to functions specific to Maya. The majority of standard Maya commands are default MEL scripts, saved in the Maya Program Files directory.
126:
MEL is fairly limited compared to mainstream scripting languages. It is primarily a language meant to journal the Maya session, so it lacks many advanced features such as associative arrays.
51:
634:, and allow scripts to trigger while Maya evaluates the scene file at each change in time, to simulate complex behaviors or perform other useful tasks.
677:
764:
660:
137:
A lot of legacy code and inner working of Maya is in MEL form. This provides many insights into undocumented inner workings of Maya.
73:
714:
652:
141:
MEL is often criticized for its lack of programming features, and object orientation. In practice, however, MEL is used as a
91:
669:
127:
789:
34:
626:
Maya also offers an expression language that is a super-set of MEL, and results in nodes that are executed as part of
44:
38:
30:
709:
55:
704:
699:
631:
627:
665:
644:
134:
Discoverability of MEL is better since the built-in command echo server was created with MEL in mind.
95:
130:
was added to Maya as an alternative to MEL in Maya 8.5. Still MEL offers some advantages to Python:
648:
774:
744:
759:
739:
734:
673:
656:
749:
692:
142:
146:
boundaries between allocated tasks. This makes MEL harder to learn and fully understand.
783:
99:
769:
729:
154:
The tools designed using MEL scripts generally come under the following categories:
176:
Third-party renderer specific data type (e.g., RenderMan sub-divisional surfaces)
242:
This is an example of a script which copies a selected object through its path:
724:
754:
719:
116:
120:
103:
15:
197:Automatic creation of common complex shader setups
102:. Most tasks that can be achieved through Maya's
745:MEL Scripting Tutorials for Maya - CreativeCrash
508:// selected the objects to duplicate or instance
43:but its sources remain unclear because it lacks
212:Simulated object emergent flocking and swarming
750:variables in mel - ACCAD instructor Alan Price
586:// evenly distributed between frame 1 and 240
583:// duplicate the current selection 5 times --
179:Modeling tools not offered in the base package
715:MEL and Expressions - Autodesk Maya 2015 Help
8:
221:File and folder scene setup and maintenance
74:Learn how and when to remove this message
630:. Expressions are developed with Maya's
672:". 1st edition, 0001d Publishing 2009;
247:// animated duplicates/instances script
167:Scene meta-data for production tracking
655:". 2nd edition, Morgan Kaufmann 2005;
740:CGSociety - 'Maya UI Building' thread
203:Making calls to third-party renderers
7:
670:YSYT - Maya MEL Basics for Designers
730:CGSociety - Maya Programming forum
170:Geometry creation and modification
14:
710:MEL command reference (Maya 2015)
705:MEL command reference (Maya 2014)
700:MEL command reference (Maya 2013)
735:CGSociety - 'MEL scripts' thread
653:MEL Scripting for Maya Animators
230:Removal of invalid Maya commands
115:MEL is syntactically similar to
20:
755:MEL video tutorials - lynda.com
188:Rigging and setting up controls
94:used to simplify tasks in the
1:
421:// to store selected objects
224:User interface customization
200:Pre- and post-render effects
164:Proprietary game data export
775:Mel Scripting - RobTheBloke
760:Digital Tutors search - MEL
806:
765:maya mel - polyextrude.com
161:Motion capture data import
436:// store selected objects
227:Custom character controls
194:Lighting /rendering tools
244:
209:Custom particle behavior
29:This article includes a
770:MEL - maya rigging wiki
725:Useful Scripts for Maya
628:Maya's dependency graph
58:more precise citations.
88:Maya Embedded Language
526:$ duplicateOrInstance
409:// set to range start
289:$ duplicateOrInstance
790:Scripting languages
589:animatedDuplication
460:$ num_of_duplicates
370:$ num_of_duplicates
331:$ num_of_duplicates
253:animatedDuplication
215:Genetic algorithms
92:scripting language
31:list of references
678:978-0-578-00988-9
632:expression editor
580:// Usage example:
514:$ selectedObjects
442:$ selectedObjects
424:$ selectedObjects
415:$ selectedObjects
337:$ numOfDuplicates
280:$ numOfDuplicates
191:Crowd AI behavior
185:Muscle simulators
173:Custom primitives
84:
83:
76:
797:
696:
695:
693:Official website
617:
614:
611:
608:
605:
602:
599:
596:
593:
590:
587:
584:
581:
578:
575:
572:
569:
566:
563:
560:
557:
554:
551:
548:
545:
542:
539:
536:
533:
530:
527:
524:
521:
518:
515:
512:
509:
506:
503:
500:
497:
494:
491:
488:
485:
482:
479:
476:
473:
470:
467:
464:
461:
458:
455:
452:
449:
446:
443:
440:
437:
434:
431:
428:
425:
422:
419:
416:
413:
410:
407:
404:
401:
398:
395:
392:
389:
386:
383:
380:
377:
374:
371:
368:
365:
362:
359:
356:
353:
350:
347:
344:
341:
338:
335:
332:
329:
326:
323:
320:
317:
314:
311:
308:
305:
302:
299:
296:
293:
290:
287:
284:
281:
278:
275:
272:
269:
266:
263:
260:
257:
254:
251:
248:
218:Cloth simulation
79:
72:
68:
65:
59:
54:this article by
45:inline citations
24:
23:
16:
805:
804:
800:
799:
798:
796:
795:
794:
780:
779:
691:
690:
687:
682:
666:Pisca, Nicholas
645:Mark R. Wilkins
640:
624:
619:
618:
615:
612:
609:
606:
603:
600:
597:
594:
591:
588:
585:
582:
579:
576:
573:
570:
567:
564:
561:
558:
555:
552:
549:
546:
543:
540:
537:
534:
531:
528:
525:
522:
519:
516:
513:
510:
507:
504:
501:
498:
495:
492:
489:
486:
483:
480:
477:
474:
471:
468:
465:
462:
459:
456:
453:
450:
447:
444:
441:
438:
435:
432:
429:
426:
423:
420:
417:
414:
411:
408:
405:
402:
399:
396:
393:
390:
387:
384:
381:
378:
375:
372:
369:
366:
363:
360:
357:
354:
351:
348:
345:
342:
339:
336:
333:
330:
327:
324:
321:
318:
315:
312:
309:
306:
303:
300:
297:
294:
291:
288:
285:
282:
279:
276:
273:
270:
267:
264:
261:
258:
255:
252:
249:
246:
240:
182:Animation tools
152:
143:metaprogramming
113:
80:
69:
63:
60:
49:
35:related reading
25:
21:
12:
11:
5:
803:
801:
793:
792:
782:
781:
778:
777:
772:
767:
762:
757:
752:
747:
742:
737:
732:
727:
722:
717:
712:
707:
702:
697:
686:
685:External links
683:
681:
680:
663:
641:
639:
636:
623:
620:
245:
239:
236:
235:
234:
231:
228:
225:
222:
219:
216:
213:
210:
207:
204:
201:
198:
195:
192:
189:
186:
183:
180:
177:
174:
171:
168:
165:
162:
159:
151:
148:
139:
138:
135:
112:
109:
82:
81:
39:external links
28:
26:
19:
13:
10:
9:
6:
4:
3:
2:
802:
791:
788:
787:
785:
776:
773:
771:
768:
766:
763:
761:
758:
756:
753:
751:
748:
746:
743:
741:
738:
736:
733:
731:
728:
726:
723:
721:
718:
716:
713:
711:
708:
706:
703:
701:
698:
694:
689:
688:
684:
679:
675:
671:
667:
664:
662:
661:0-12-088793-2
658:
654:
650:
649:Chris Kazmier
646:
643:
642:
637:
635:
633:
629:
621:
475:$ range_start
403:$ range_start
361:$ range_start
301:$ range_start
243:
237:
232:
229:
226:
223:
220:
217:
214:
211:
208:
205:
202:
199:
196:
193:
190:
187:
184:
181:
178:
175:
172:
169:
166:
163:
160:
157:
156:
155:
149:
147:
144:
136:
133:
132:
131:
129:
124:
122:
118:
110:
108:
105:
101:
100:Autodesk Maya
97:
93:
89:
78:
75:
67:
57:
53:
47:
46:
40:
36:
32:
27:
18:
17:
625:
307:$ rangeStart
262:$ rangeStart
241:
153:
140:
125:
114:
87:
85:
70:
61:
50:Please help
42:
496:currentTime
484:$ step_size
400:currentTime
355:$ range_end
346:$ step_size
316:$ range_end
96:3D graphics
90:(MEL) is a
56:introducing
638:References
322:$ rangeEnd
271:$ rangeEnd
233:Custom UIs
541:duplicate
98:software
64:July 2014
784:Category
720:Mel Wiki
622:Features
556:instance
430:`ls -sl`
206:Dynamics
158:Data I/O
238:Example
52:improve
676:
659:
511:select
502:$ temp
469:$ temp
439:select
412:string
394:$ temp
128:Python
111:Design
457:<=
448:while
37:, or
674:ISBN
657:ISBN
550:else
250:proc
150:Uses
119:and
117:Perl
86:The
668:, "
651:: "
601:240
565:$ i
490:$ i
454:$ i
391:int
379:$ i
376:int
343:int
328:int
313:int
298:int
286:int
277:int
268:int
259:int
121:Tcl
104:GUI
786::
647:,
616:);
568:++
529:==
520:if
505:);
493:);
41:,
33:,
613:0
610:,
607:5
604:,
598:,
595:1
592:(
577:}
574:}
571:;
562:}
559:;
553:{
547:}
544:;
538:{
535:)
532:0
523:(
517:;
499:(
487:*
481:(
478:+
472:=
466:{
463:)
451:(
445:;
433:;
427:=
418:;
406:;
397:;
388:;
385:0
382:=
373:;
367:/
364:)
358:-
352:(
349:=
340:;
334:=
325:;
319:=
310:;
304:=
295:{
292:)
283:,
274:,
265:,
256:(
77:)
71:(
66:)
62:(
48:.
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.