لغة مايا المضمنة
لغة مايا المضمنة (MEL) هي لغة برمجة نصية تُستخدم لتبسيط المهام في برنامج الرسومات ثلاثية الأبعاد Autodesk Maya . يمكن إنجاز معظم المهام التي يُمكن تنفيذها عبر واجهة المستخدم الرسومية لبرنامج Maya باستخدام MEL، بالإضافة إلى بعض المهام غير المتاحة عبر واجهة المستخدم الرسومية. توفر MEL طريقة لتسريع المهام المعقدة أو المتكررة، كما تسمح للمستخدمين بإعادة توزيع مجموعة محددة من الأوامر على الآخرين الذين قد يجدونها مفيدة.
تصميم
لغة MEL تشبه في تركيبها لغتي Perl و Tcl . توفر بعض ميزات إدارة الذاكرة وتخصيص المصفوفات الديناميكي، وتتيح الوصول المباشر إلى وظائف خاصة ببرنامج Maya. معظم أوامر Maya القياسية عبارة عن نصوص MEL افتراضية، محفوظة في مجلد ملفات برنامج Maya.
لغة MEL محدودة نسبيًا مقارنةً بلغات البرمجة النصية الشائعة. فهي لغة مصممة أساسًا لتسجيل جلسات مايا، لذا تفتقر إلى العديد من الميزات المتقدمة مثل المصفوفات الترابطية. أُضيفت لغة بايثون إلى مايا كبديل للغة MEL في الإصدار 8.5. ومع ذلك، لا تزال MEL تقدم بعض المزايا مقارنةً ببايثون.
- أصبحت إمكانية اكتشاف لغة MEL أفضل لأن خادم صدى الأوامر المدمج تم إنشاؤه مع وضع لغة MEL في الاعتبار.
- يحتوي برنامج مايا على الكثير من التعليمات البرمجية القديمة وآليات عمله الداخلية مكتوبة بلغة MEL. وهذا يوفر رؤى قيّمة حول آليات عمل مايا الداخلية غير الموثقة.
كثيرًا ما تُنتقد لغة MEL لافتقارها إلى ميزات البرمجة، واعتمادها على البرمجة الكائنية. مع ذلك، تُستخدم MEL عمليًا كلغة برمجة وصفية ، حيث تُوجه بنية عقد Maya لحل المشكلة. وبما أن العقد تُشكل جوهر الحوسبة في Maya، فإن استخدام أسلوب برمجة أكثر قوة ووضوحًا سيكون غير فعال. تُكمل MEL واجهة برمجة تطبيقات Maya (API) من نواحٍ عديدة، مع حدود واضحة إلى حد ما بين المهام المُخصصة. وهذا ما يجعل تعلم MEL وفهمها بشكل كامل أكثر صعوبة.
الاستخدامات
تندرج الأدوات المصممة باستخدام نصوص MEL عمومًا ضمن الفئات التالية:
- إدخال/إخراج البيانات
- استيراد بيانات التقاط الحركة
- تصدير بيانات اللعبة الخاصة
- بيانات وصفية للمشاهد لتتبع الإنتاج
- إنشاء وتعديل الأشكال الهندسية
- الأشكال الأولية المخصصة
- نوع بيانات خاص ببرنامج العرض التابع لجهة خارجية (على سبيل المثال، أسطح التقسيم الفرعي لبرنامج RenderMan)
- أدوات النمذجة غير متوفرة في الحزمة الأساسية
- أدوات الرسوم المتحركة
- محاكيات العضلات
- تجهيز وإعداد عناصر التحكم
- سلوك الذكاء الاصطناعي للحشود
- أدوات الإضاءة / العرض
- إنشاء تلقائي لإعدادات التظليل المعقدة الشائعة
- تأثيرات ما قبل وما بعد المعالجة
- إجراء مكالمات إلى جهات خارجية لعرض البيانات
- الديناميكيات
- سلوك الجسيمات المخصص
- محاكاة ظهور التجمعات والأسراب من الأجسام
- الخوارزميات الجينية
- محاكاة القماش
- إعداد وصيانة مشاهد الملفات والمجلدات
- تخصيص واجهة المستخدم
- عناصر تحكم مخصصة للأحرف
- إزالة أوامر مايا غير الصالحة
- واجهات مستخدم مخصصة
مثال
هذا مثال على نص برمجي يقوم بنسخ كائن محدد عبر مساره:
// برنامج نصي لإنشاء نسخ/مثيلات متحركة 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 ; // يتم تعيينه إلى بداية النطاقstring $selectedObjects []; // لتخزين العناصر المحددة $selectedObjects = `ls -sl` ; // تخزين العناصر المحددة select $selectedObjects ;بينما ( $i <= $num_of_duplicates ) { $temp = $range_start + ( $step_size * $i ); currentTime ( $temp ); // تحديد الكائنات المراد تكرارها أو إنشاء مثيل لها select $selectedObjects ; if ( $duplicateOrInstance == 0 ) { duplicate ; } else { instance ; } $i ++ ; } }// مثال على الاستخدام: // تكرار التحديد الحالي 5 مرات -- // موزعة بالتساوي بين الإطار 1 والإطار 240 animatedDuplication ( 1 , 240 , 5 , 0 );سمات
يُوفر برنامج مايا أيضًا لغة تعبيرية تُعدّ مجموعة فرعية من لغة MEL، وتُنتج عُقدًا تُنفّذ كجزء من مخطط التبعية في مايا . تُطوّر التعبيرات باستخدام مُحرّر التعبيرات في مايا ، وتسمح بتشغيل البرامج النصية أثناء تقييم مايا لملف المشهد عند كل تغيير، لمحاكاة سلوكيات مُعقّدة أو أداء مهام أخرى مُفيدة.
مراجع
- مارك ر. ويلكنز ، كريس كازمير : " برمجة MEL لرسامي مايا ". الطبعة الثانية، مورغان كوفمان 2005؛ ISBN 0-12-088793-2
- بيسكا، نيكولاس ، " YSYT - أساسيات مايا ميل للمصممين ". الطبعة الأولى، دار نشر 0001d، 2009؛ ISBN 978-0-578-00988-9
روابط خارجية
- الموقع الرسمي
- مرجع أوامر MEL (مايا 2013)
- مرجع أوامر MEL (مايا 2014)
- مرجع أوامر MEL (مايا 2015) مؤرشف بتاريخ 6 أبريل 2016 على موقع Wayback Machine
- لغة MEL والتعبيرات - مساعدة Autodesk Maya 2015 (مؤرشفة بتاريخ 4 مارس 2016 على موقع Wayback Machine)
- ميل ويكي
- نصوص برمجية مفيدة لبرنامج مايا
- منتدى برمجة مايا - CGSociety
- موضوع "نصوص MEL" على CGSociety
- موضوع "بناء واجهة مستخدم مايا" على موقع CGSociety
- دروس برمجة MEL لبرنامج مايا - كرييتف كراش
- المتغيرات في لغة MEL - آلان برايس، مدرب ACCAD
- دروس فيديو تعليمية لبرنامج MEL - lynda.com
- البحث عن معلمين رقميين - MEL
- مايا ميل - polyextrude.com
- MEL - موسوعة مايا للتجهيز
- ميل سكريبتينغ - روب ذا بلوك
- لغات البرمجة النصية
