فایل MEL چیست؟
یک فایل با پسوند .mel (Maya Embedded Language) یک زبان برنامه نویسی است که توسط Autodesk Maya برای ایجاد رابط های گرافیکی استفاده می شود. این به شما امکان می دهد تا با استفاده از اسکریپت های اجرایی علاوه بر رابط گرافیکی Maya، ایجاد عناصر گرافیکی را به طور خودکار انجام دهید. MEL به شما این امکان را می دهد که بدون یادگیری برنامه نویسی رابط های گرافیکی ایجاد کنید. این امر با ایجاد ماکروها و اقدامات سفارشی که کارهای تکراری را سرعت می بخشد به دست می آید. این رویهها و اسکریپتها به شما امکان میدهند مدلسازی سفارشی، انیمیشنها، دینامیک و رندر وظایف را ایجاد کنید. Autodesk Maya 2020 می تواند برای باز کردن و مشاهده محتوای یک فایل EML استفاده شود.
فرمت فایل MEL - اطلاعات بیشتر
reference manual یک برنامه نویس برای توسعه دهندگان در بخش مستندات مایا در دسترس است. MEL بر اساس دستورات پوسته اسکریپت، شبیه به UINX، برای دستیابی به اهداف است. دستورات مبتنی بر اسکریپت آن را به برنامه نویسی معمولی و شی گرا (OOP) بی ربط می کند و در نتیجه از ساختارهای داده، توابع فراخوانی یا استفاده از OOP مانند سایر زبان ها استفاده نمی کند.
برخی از نکات کلیدی در مورد MEL به شرح زیر است.
نظرات - هر عبارت در MEL باید با یک نقطه ویرگول (;) ختم شود، حتی در انتهای یک بلوک.
مقادیر برگشتی - بیان عبارتی که مقداری را برمی گرداند، به طور خودکار مقدار را در MEL چاپ نمی کند. در عوض باعث ایجاد خطا می شود.
3 + 5;
// Error: 3 + 5; //
// Error: Syntax error //
print(3+5);
8
«فرمانهایی برای ایجاد، ویرایش و حذف» - از همین دستور برای ایجاد چیزها، ویرایش چیزها یا پرس و جو کردن اطلاعات در مورد چیزهای موجود استفاده میشود. با این حال، یک پرچم آنچه را که دستور انجام می دهد (ایجاد، ویرایش یا پرس و جو) را کنترل می کند.
// Create a sphere named "mySphere" with radius 5
sphere -radius 5 -name "mySphere";
// Edit the radius of mySphere
sphere -edit -radius "mySphere";
// Print the radius of mySphere
sphere -query -radius
مقدار بازگشتی از تابع - نحو تابع به طور خودکار یک مقدار را برمی گرداند. برای به دست آوردن مقدار بازگشتی با استفاده از دستور دستور، باید دستور را در quotes قرار دهید.
$a = getAttr("mySphere.translateX"); // Function syntax
$b = `getAttr mySphere.translateY`; // Command syntax