Knowledge (XXG)

Maya Embedded Language

Source 📝

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:.

Index

list of references
related reading
external links
inline citations
improve
introducing
Learn how and when to remove this message
scripting language
3D graphics
Autodesk Maya
GUI
Perl
Tcl
Python
metaprogramming
Maya's dependency graph
expression editor
Mark R. Wilkins
Chris Kazmier
MEL Scripting for Maya Animators
ISBN
0-12-088793-2
Pisca, Nicholas
YSYT - Maya MEL Basics for Designers
ISBN
978-0-578-00988-9
Official website
MEL command reference (Maya 2013)
MEL command reference (Maya 2014)
MEL command reference (Maya 2015)

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.