同城200带吹电话-免费风楼阁全国约,附近人100块钱,上门服务24小时接单平台

当前位置:首页 >教程首页 > Maya >Maya MEL编程有什么用?

Maya MEL编程有什么用?

发布时间:2019-10-21 17:59:19

一、为什么要学习Maya编程?

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

 Maya MEL编程有什么用?

二、 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 (表达式编辑器)中进行开发的,它可以侦测场景中的时间,洞察场景中的任何变化,从而做出用户想要执行的策略及其他任务。

学员作品赏析
  • 2101期学员李思庭作品

    2101期学员李思庭作品

  • 2104期学员林雪茹作品

    2104期学员林雪茹作品

  • 2107期学员赵凌作品

    2107期学员赵凌作品

  • 2107期学员赵燃作品

    2107期学员赵燃作品

  • 2106期学员徐正浩作品

    2106期学员徐正浩作品

  • 2106期学员弓莉作品

    2106期学员弓莉作品

  • 2105期学员白羽新作品

    2105期学员白羽新作品

  • 2107期学员王佳蕊作品

    2107期学员王佳蕊作品

专业问题咨询

你担心的问题,火星帮你解答
  • 广州视频剪辑培训机构有哪些

    在广州这座繁华的都市中,数字创意产业正蓬勃发展,广州视频剪辑培训成为许多影视爱好者的理想起点。随着短视频平台和影视制作需求的激......

  • 北京UI设计培训免费试听攻略

    在北京这样一座充满创意活力的都市,UI设计培训正成为无数年轻人追逐职业梦想的跳板。随着数字经济的蓬勃发展,UI设计行业在北京展......

  • 北京平面设计培训机构排名榜

    在当今创意经济蓬勃发展的浪潮中,北京平面设计培训成为众多职业追求者的理想起点。这座城市的活力与机遇吸引着无数人投身视觉艺术领域......

  • 北京虚幻引擎课程内容全解析

    在影视和设计行业蓬勃发展的今天,虚幻引擎作为核心技术工具,正引领着视觉创作的革命。越来越多的人渴望掌握这门技能,而专业的培训成......

  • 北京平面设计课程如何选择适合的

    在北京这座文化创意中心,平面设计培训行业蓬勃发展,为渴望入行的学员提供了丰富机遇。随着数字媒体和影视产业的崛起,掌握视觉传达技......

  • 上海3D建模短训班课程内容解析

    在上海这座充满活力的城市,影视和设计行业正迎来前所未有的发展机遇,数字技术的进步让3D建模成为创意产业的核心驱动力。参加专业的......

×

同学您好!

您已成功报名0元试学活动,老师会在第一时间与您取得联系,请保持电话畅通!
确定