Maya动画制作之 Maya插件开发入门
凌雪 2018-08-17 来源 :网络 阅读 1055 评论 0

摘要:本文将带你了解Maya动画制作之 Maya插件开发入门,希望本文对大家学Maya有所帮助

本文将带你了解Maya动画制作之 Maya插件开发入门,希望本文对大家学Maya有所帮助


Maya插件开发入门
         这里笔者给出一个创建简单的MAYA C++插件的流程。
         笔者给出MEL和C++插件两个版本,实现了同样的功能。
      这个插件的背景是这样的,大多人听说MAYA8.5问世之后,都是欣喜万分,终于可以感受新版本的MAYA了。唯独方老板听到这个消息后,一筹莫展,并怨恨交加。下面的MEL和C++插件都是实现这样的一个想法。
    MEL版:
    float $maya_version = 8.5;
    string $boss = "bossFang";
    string $person = "bossFang";
    if($maya_version == 8.5 && $person != $boss){
    print ("happy : ) Enjoy maya 8.5 /n");
    }
    if($maya_version == 8.5 && $person == $boss){
    print (" : ( xxx! xxx! sign,why now? /n");
    }
    输入脚本编辑器并执行,结果如图。
    图   执行MEL
    C++ plug-in for maya7.0 版:
    在.NET中执行文件 | 新建 | 项目,如图。
    图   新建项目
         在Visual   C++项目中选择MayaPlugInWizard,如图,然后选择文件路径并给定名称,这里笔者使用boss为名。
    图   选择MayaPlugInWizard
    单击确定后,Maya Plug-in Wizard会自动进入Plug-in   setup(插件设置)窗口,如图,选择Maya7.0,即可为Maya7.0创建插件,下面还要选择MAYA的安装路径,并填写作者名称。
    图   插件设置
         单击左侧的Plug-in Type(插件类型),选择MEL   Command,即可创建MEL命令型插件,输入插件名,这里笔者设为boss,将来在命令行输入boss,即可执行该插件了。
    图 输入插件名
         最后,单击左侧的Included Libraries(包含的库),可以设定该插件包含哪些库文件。对于我们要创建的简单插件来说,默认的库就够了,单击Finish(完成)。
    图   选择默认的库
    这样,在Maya Plug-in Wizard的指导下,我们成功创建了所需的cpp文件,如图,在doIt函数中插入代码即可。
    图   在doIt函数中插入代码
    如图,在文件顶部包含所需的maya头文件
    #include <maya/MGlobal.h>
    #include <maya/MString.h>
    并在doIt中加入自定义的代码。
    图   添加maya头文件和代码
    最后,在.NET中执行生成 | 生成解决方案,即可得到.mll文件了,如图。关于插件的加载和使用,将在下面一招加载和使用插件里介绍。
    图   得到.mll文件
    下面是该插件所有的代码:
    // Copyright (C) lizhihao
    // File: bossCmd.cpp
    // MEL Command: boss
    // Author: Maya Plug-in Wizard 2.0
    //
    #include <maya/MSimple.h>
    #include <maya/MGlobal.h>
    #include <maya/MString.h>
    DeclareSimpleCommand( boss, "lizhihao", "7.0");
    MStatus boss::doIt( const MArgList& args )
                  
    {
         MStatus stat = MS::kSuccess;
        
         MString info;
                         MString   boss("BossFang");
                       MString   person("BossFang");
                         double maya_version = 8.5;
                         if(maya_version == 8.5 && person == boss){
                               info = MString(": ( Fuck! Fuck! sign,why now? /n");
                           }
                       if(maya_version == 8.5 && person != boss){
                               info = MString("happy : ) Enjoy maya 8.5   /n");
                           }
         //显示字符串,相当于MEL中的print
    MGlobal::displayInfo(info);
         setResult( "boss command executed!/n"   );
         return stat;
    }    

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标常用软件之Maya频道!

本文由 @凌雪 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程