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插件开发入门相关推荐

  1. Maya基础入门学习教程

    Maya基础入门学习教程 视频:.MKV, 1280x720, 共57节课 时长 4小时25分钟,3GB 语言:英语+中文字幕(根据原英文字幕机译更准确)+原英文字幕 指导老师:Shane Whitt ...

  2. 【直播回顾】蚂蚁金服高级开发工程师萧恺:IDEA 插件开发入门教程

    主讲人:萧恺(蚂蚁金服-支付宝事业群-高级开发工程师) 本名:肖汉松 讲师介绍: 热爱阅读,喜欢挑战,热衷尝试新的技术,关注技术背后的原理. 关注领域:Java 服务端开发,分布式系统 关注语言:Ja ...

  3. xposed模块编写教程_Xposed插件开发入门详解,

    Xposed插件开发入门详解, 前言 Xposed的用处不必言说,能hook任意java写的代码,修改替换apk内部的资源文件. 至于如何开发一个XPosed的插件,官方给出的答案如下: https: ...

  4. 视频教程-FastAdmin插件开发入门-PHP

    FastAdmin插件开发入门 2009年4月创办 淄博日诺网络科技有限公司 法人总经理 2016年负责 中国传媒大学凤凰学院 网站开发 项目负责人 2017年 参与负责 用友软件理财项目开发 郭孟涛 ...

  5. 0001 零基础Maya插件开发——Python+Qtdesigner环境搭建

    000 零基础Maya插件开发汇总 一.查看Maya中Python版本 我这里用的是Maya2018, 操作系统Win10 import sys print(sys.version) 输出 2.7.1 ...

  6. 基于jquery插件开发入门教程

    鉴于最近要使用大量的jquery,所以总有一种捣鼓文字来抒发一下情绪的冲动.思前想后就来篇jquery插件开发入门教程吧,毕竟如果不想开发插件,那自己无论用别人的插件多牛逼,最多只是js的使用者,作为 ...

  7. carbide.c++ 插件开发入门(转)

    carbide.c++ 插件开发入门(仅仅入门) 热10已有 229 次阅读  2010-07-25 20:39   标签:  carbide  入门  插件  开发 symbian开发,最不爽的就是 ...

  8. QT浏览器插件开发入门

    QT浏览器插件开发入门_百度文库 http://wenku.baidu.com/view/427755d13186bceb19e8bbbf.html

  9. virtualxposed使用教程_Xposed 插件开发入门教程(一)

    其实网上已经有很多 Xposed 插件开发的入门教程了,我写的这篇与其说是教程,不如说是参考,为了防止以后忘了开发步骤,这里就写篇博客记录一下. 要使用 Xposed 插件,首先要 root 手机并安 ...

最新文章

  1. 22. Node.Js Buffer类(缓冲区)-(二)
  2. Science子刊: 长期杀虫剂诱导选择下的宿主基因组与微生物组的共适应
  3. HashMap 的使用
  4. dedephp geteditor(,cms教程:dedecms修改后台编辑器参数GetEditor的方法
  5. 全球及中国牛乳腺炎治疗系统行业发展调研及投资预测分析报告2022-2027年
  6. 数字语音信号处理学习笔记——语音信号的短时时域分析(3)
  7. InterruptedException的学习
  8. oracle 清除参数,IMp回去的时候要把原来的表的记录清空吗?没有什么参数可以省略这个吗...
  9. android的多行文本框的值,Swift - 多行文本输入框(UITextView)
  10. 点击头像上传文件的效果
  11. CString Char* 转换 - C++学习
  12. 基于matlab的汉明码信道编码,信道编码仿真.doc
  13. educoder:第3关:嵌套循环 - 跃迁能量表
  14. 对nand flash设备进行升级
  15. java人才市场需求分析_人才招聘需求及分析报告.doc
  16. 老胡的周刊(第084期)
  17. 两寸照片有多大?教你把照片尺寸修改成两寸的方法
  18. 武磊离顶级前锋到底有多远?
  19. java swing 大球吃小球游戏 功能完善 完整代码 下载即可以运行
  20. 正点原子STM32F103精英版开发环境搭建并编写第一个程序(使用串口下载,基于HAL库)

热门文章

  1. 乐学堂天风:什么是上证180指数
  2. 《 罗宇庭蜕变幸福路》分享做回男人的种种心酸
  3. python 可视化 二维坐标标注等等
  4. 基于图数据库的物联网模型(1)-图数据库与模型设计
  5. 【论文笔记:场景】边缘计算中分布式协作的动态卸载模型:森林火灾管理的一个用例
  6. 神策数据张铎:一文读懂神策私有化部署的架构演进
  7. Git工具:开发分支拉取主分支最新代码的实现
  8. android蓝牙源码分析
  9. docker的安装以及加速器的配置
  10. 转:量化交易零基础入门教程之——获取典型常用数据