Maya插件教程(一)
这里主要参考了一个例子,实现创建Maya插件的简单流程。原作只实现了MEL和C++,本文补充了Python版本,并说明了C++编写的.mll插件的调用流程。插件的背景如下:
大多数人听说Maya 2010问世之后,都是欣喜万分,终于可以感受新版本的Maya了。唯独Boss Fang听到这个消息后,一筹莫展,并怨恨交加。下面的三个插件都是实现这样一个想法。
(1)MEL版本
float $maya_version = 2010; string $boss = "bossFang"; string $person = "bossFang"; if($maya_version == 2010 && $person != $boss) { print("happy : )Enjoy Maya 2010 /n" ); } if($maya_version == 2010 && $person == $boss) { print(":( xxx! xxx! sign, why now? /n"); }
打开Maya 2010 右下角的Script Editor,并将以上代码贴入,运行结果如下:
(2)Python版本
和MEL类似,代码如下:
maya_version = 2010 boss = 'bossFang' person = 'bossFang' if (maya_version == 2010 and person != boss): print 'happy : )Enjoy Maya 2010 /n' if (maya_version == 2010 and person == boss): print ':( xxx! xxx! sign, why now? /n'
运行结果如下所示:
(3)C++版本
下载Maya Plugin Wizard(网址)。并按照其中的MayaWizardReadme.txt文件安装该插件。
注意:MayaPluginWizard文件夹需要放在* VC/VCWizards,无论是对Regular Visual Studio或Visual Studio Express。
“Please check the versions of Maya that this plug-in is for:”选择自己安装的Maya版本,该插件现在已经支持从7.0到2011各个版本,我选择的是2010版本。
“What is the verder name for this plug-in?”中需要填写的是作者名称,如cgnerds。
“What type of plug-in would you like to create?”选择MEL Command,即可创建MEL命令型插件。
"Please enter the name of your plug-in here"中输入boss,即可执行该插件了。
“What libraries would you like to link with?”中选择需要连接的库。对于我们需要创建的简单插件来说,默认的库就可以了。
单击Finish完成设置。目前该插件默认Maya安装目录为C盘,需要自己修改为合适的盘符。
在boss::doIt()函数中如下代码,实现和(1)同样的功能。
MStatus boss::doIt( const MArgList& args ) // // Description: // implements the MEL boss command. // // Arguments: // args - the argument list that was passes to the command from MEL // // Return Value: // MS::kSuccess - command succeeded // MS::kFailure - command failed (returning this value will cause the // MEL script that is being run to terminate unless the // error is caught using a "catch" statement. // { MStatus stat = MS::kSuccess; MString info; MString boss("BossFang"); MString person("BossFang"); double maya_version = 2010; if(maya_version == 2010 && boss == person) { info = MString( ":( xxx! xxx! why now? /n" ); } if(maya_version == 2010 && boss != person) { info = MString( "happy :) Enjoy maya 2010 /n" ); } //显示字符串,相当于MEL中的print MGlobal::displayInfo(info); // Since this class is derived off of MPxCommand, you can use the // inherited methods to return values and set error messages // setResult( "boss command executed!/n" ); return stat; }
程序运行后,会生成boss.mll文件,将其拷贝到D:/Program Files/Autodesk/Maya2010/bin/plug-ins目录下,重新打开Maya 2010,执行菜单Window->Settings/Preferences->Plug-in Manager打开插件加载窗口。将boss.mll后面的Loaded打钩,然后再次打开Script Editor,输入boss,显示结果如下:
Maya插件教程(一)相关推荐
- 你绝对不知道的17个Maya插件
前言: 今天又双U也是Maya的插件,还是免费的,Max的亲们对不住了~~ 今天要介绍的是是放置纽扣.螺丝等在物体任意表面的插件,而且还能随意的调节大小,旋转,缩放等操作,并且还能将自定义创建模型放置 ...
- maya! board_最全maya插件安装方法大总结!不会装maya插件的同学来看看啦
关于maya插件的一般安装方法.方法一: 在插件中,以.mel结尾(后缀)的文件放到: C:Documents and Settings计算机名My Documentsmaya7.0scripts 在 ...
- maya python教程下载_2015 Maya_Python_教程-很难得最新maya python教程.pdf.pdf
您所在位置:网站首页 > 海量文档  > 计算机 > Python 2015 Maya_Python_教程-很难得最新 ...
- Htc Vive VR 手势识别插件教程 1.1 版本(附1.0版本教程PDF)
VR手势识别插件教程1.1.1版本 VR手势识别插件教程1.1.1版本内容提纲 Htc Vive VR手势识别插件教程1.1.1版本.................................. ...
- FindBugs Maven插件教程
FindBugs是一种静态代码分析工具,可识别从Java代码中发现的问题. 我们可以使用FindBugs Maven插件将FindBugs集成到我们的构建过程中. 这篇博客文章确定了四个典型的用例,并 ...
- qq浏览器翻译功能启用划词插件教程
qq浏览器翻译功能启用划词插件教程 qq浏览器翻译功能怎么启用?QQ浏览器对于我们经常浏览qq空间,微信聊天的人来说是非常不错的一个浏览器,而且,QQ浏览器也有非常多不错的功能,比如划词翻译等等.那么 ...
- 开源数据可视化 datart-自定义Jquery图表插件教程
在数据可视化应用方面,滚动图表插件一直备受欢迎,下面给大家一份关于滚动图标插件干活教程. 滚动图标插件教程 主要使用 jQuery jQuery.marquee jQuery-DataTables 视 ...
- 今天介绍一款事半功倍的Maya插件包
大家好,今天简单介绍一款Maya插件包: malcolm341_mega_pack mega_pack界面展示 这个插件包目前的应用比较广泛,我周围的同事们都利用该插件包里的内容,提高自己的工作效率 ...
- eclipse 插件教程_编写Eclipse插件教程–第1部分
eclipse 插件教程 Eclipse是三个最受欢迎的Java开发IDE之一. 其成功的原因之一是其可扩展性. 对于任何知道该怎么做并且已经做到的人来说,编写eclipse插件都可以非常轻松快捷. ...
最新文章
- 8种方法用Python实现线性回归,为你解析最高效选择
- 老板评价下属的普遍性原则
- 30个最常用css选择器解析
- 机器学习cae_CAE工程分析技术年会记
- 前端中全部盒子靠左对齐_前端面试一百问之弹性盒子中 flex: 0 1 auto 表示什么意思...
- linux date 小写h,linux date 命令详解[转载]
- RabbitMQ消息队列(七):适用于云计算集群的远程调用(RPC)
- 深入浅析HTML5中的article和section的区别
- 【Java】java YYYY-MM-DD与 yyyy的区别,有重大bug
- struts_login实例
- Xcode 4.2 中的Automatic Reference Counting (ARC)
- kotlin密封类_Kotlin密封级
- go语言学习之helloword
- 诺基亚 XGS-PON FTTP 系统在科威特完成测试
- 2020.10.30文献1:《滇中引水工程香炉山隧洞地应力特征及其活动构造响应》
- XILINX-FPGA下载工具--CH347FPGADownloader
- 关于C语言中的绝对值函数
- 小韦系统装工行网银U盾驱动的方法
- 一切还要从副总裁在朋友圈卖内裤说起
- Linux下的内核线程threaded irq机制分析与应用