一、为什么要学习Maya编程?
随着学习Maya的不断深入,越来越多的Maya高级用户发现,单凭Maya已经公开的,在软件界面及节点列表中的功能,已经不能满足三维特效的制作了,只能求助于网络上搜寻的各种脚本、插件。但是很多插件也显得极为不稳定与不易用。而像好莱坞、迪士尼这种顶级公司,他们使用Maya基本.上都靠自己的团队编写相关的工具软件,例如,角色绑定插件、分层渲染插件、模型改线插件、特效破碎插件等。像3ds Max也是依靠很多人们编写的插件而显得异常强大的。所以作为Maya特效师,只有学习了Maya编程技术,才能快速、高效地开发适合于自己、团队和公司使用的工具,开发出一款强大的插件对于程序员而言也是极具成就感的事情。

二、 MEL是什么
Maya有一款内嵌式脚本语言,我们称为MEL,即Maya Embedded Language。它与TCL和PerI编程非常相似,MEL编写的代码可以在Script Editor (脚本编辑器)、Shelves和下拉菜单中执行。MEL是Autodesk开发组提供的一种算法组合平台,它加入了很多内置的函数和命令供用户调用和组合,属于,上级语言。优点是没有库和指针,有全面函数讲解帮助,开发过程允许出错,并不拒绝执行错误,开发速度很快,用于解决大量繁重的劳动,有些还可以优化场景。缺点是大量的数据处理会相对比较慢。使用MEL的Maya用户可以制作出很多Max用户不使用插件就根本无法实现的影视特技,像好莱坞之类的顶级特效公司都在使用Maya及MEL等相关编程语言进行工具开发。
MEL相对于已经被设计好的UI指令,可以执行更多的操作。一些高端操作只能在MEL编程中实现:包括所有Maya预置参数、指令集、工具栏,以及下拉菜单都是由MEL代码实现的。从ScripEditorHistoryWindow(脚本编辑器历史窗口)中提取或者检索Maya的安装路径都可以得到MEL脚本代码,并实现MEL程序和函数的编写。
MEL并不是面向对象,所以不能像Python和C++-样创建自定义的类和方法。它的强大之处在于可以让Maya用户很容易进入编写的门槛。
参考样例
下面是一段从路径复制的选择物体的脚本代码。
// animated duplicates/instances 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= 'Is -sl; // store selected objects
select $selectedObjects;
while ($i <= $num of duplicates)
{
$temp = $range start + ($step_ size * $i);
current lime ($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同样提供了一个表达式expression语言功能,这是MEL超强功能的一部分,它的结果会以DG节点网络的形式进行传输。表达式是在Expression Editor (表达式编辑器)中进行开发的,它可以侦测场景中的时间,洞察场景中的任何变化,从而做出用户想要执行的策略及其他任务。
热门课程
专业讲师指导 快速摆脱技能困惑相关文章
多种教程 总有一个适合自己专业问题咨询
你担心的问题,火星帮你解答此番调整与三年前网易高调“出海”的姿态形成强烈反差 与此同时,自2024年起,由知名MMO制作人Jack Emmert领导的奥......
收购之后,忽然科技承诺Cocos会全面回归永久免费、纯粹开源的路线,同时借助忽然科技的全球流量资源,为开发者提供更多价值它证明......
工具集中,dgaTension节点与dgaDelta节点发挥着关键作用它们基于每个顶点,对角色网格的两种状态进行细致比较,分别......
以Maya为核心的工业级制作流程,让中国团队掌握了从高精度建模、动态捕捉到光影渲染的全链路技术其前身“王琦电脑动画工作室”成立......
捕获一只少东家! 1 前言 Hello,大家好,我是火星时代广州校区3D模型大师班的学员苏颖,很荣幸可以和大家分享我第五阶段的......
有央企、也有外企,有影视公司、也有游戏公司!收喜报都收到手抽筋了!
又到了星仔最最最中意的晒喜报环节啦!!想想大家第一个月刚打开软件时的一脸蒙圈,夜夜肝作业到教室关门的咬牙坚持,再到毕业时拿上写......
同学您好!