Maya插件开发的几种方式归纳
目前仅仅是一时兴趣,想要探索一下Maya插件开发的具体方法,但因为没有时间所以只起了个头
首先来到Autodesk Developer Network
http://usa.autodesk.com/adsk/servlet/index?siteID=123112&id=9469002
在Learning这里有视频以及Maya文档之类的链接;在Tools & Documentation archives这里有文档以及开发工具包,首先就是需要先下载开发工具包。当然下载是需要注册桌子账号的。
下载之后就可以按照Maya文档的所说的进行操作:
https://knowledge.autodesk.com/support/maya/getting-started/caas/simplecontent/content/maya-documentation.html
选择对应的版本进入。
第一步设定环境:
复制对应文件夹到maya安装目录,例如:
C:\Program Files\Autodesk\maya2016.5\devkit
C:\Program Files\Autodesk\maya2016.5\include
C:\Program Files\Autodesk\maya2016.5\mkspecs
C:\Program Files\Autodesk\maya2016.5\bin
设置下面两个环境变量
MAYA_LOCATION
Path
例如:
set MAYA_LOCATION=c:\Program Files\Autodesk\Maya2016.5
set Path=c:\Program Files\Autodesk\Maya2016.5\bin;%Path%
官方文档中所%Path%是必须的。
第二步,设置包含头文件与库文件,本人对VS的项目设置不熟,Qt也是抄了别人的项目才搞定。
- Header files: ..\include\maya
- Libraries: ..\lib
目前我知道的有以下几种方法:
1、如何用Qt生成mll(看案例的代码貌似可以直接用UI designer创建界面)
这里主要还是项目设置的东西,别的都和下面的一样。
http://blog.csdn.net/seamanj/article/details/51864875
http://around-the-corner.typepad.com/adn/2016/07/-maya-2017-devkit-building-qt-plug-ins-instructions.html
http://forums.cgsociety.org/showthread.php?t=997360
官方文档
http://help.autodesk.com/view/MAYAUL/2016/CHS/?guid=GUID-F17409C3-1288-46D1-A111-277615E6A956
http://help.autodesk.com/view/MAYAUL/2016/CHS/?guid=__files_GUID_13434252_F0BF_4AC0_B47B_09BD626B0881_htm
我测试了一下,成功运行官方的helixQtCmd案例,里面自己自定义了一个按钮。
开发时建议使用对应版本的Qt,Maya2017是5.6,2016是4.8.6
2、用VS c++生成mll,VS MAYA插件生成向导
如何在visual studio 里创建maya 插件开发环境,注意:如果您使用的是中文版VS2012,必须将MayaPluginWizard目录再嵌套一级同名目录,vs才能顺利建立工程。路径如示“C:\Program Files\Microsoft Visual Studio X\VC\VCWizards\MayaPluginWizard\MayaPluginWizard”。
http://blog.sina.com.cn/s/blog_b2f983a50102wudp.html
如果默认情况下项目显示无法找到头文件,那肯定是因为你的环境变量没有设置,你可以在生成项目的时候手动指定Maya目录(不带bin)
最后只需要把项目设置中平台工具集改成你现在用的就好了。运行后,会直接启动Maya。
3、使用pyQt实现自定义界面
Python我不太懂,这里就参看别人写的东西。
maya2013安装pyqt4的过程和方法
http://blog.sina.com.cn/s/blog_5444347b0101hwda.html
使用PyQt就可以直接使用Qt的控件,这个还是挺爽的
使用Qt设计师开发设计Maya脚本界面
http://blog.sina.com.cn/s/blog_5444347b0101idxg.html
其他介绍API编程的资料,可以让你更好的理解:
https://www.indienova.com/u/kawayide108/blogread/1800
http://blog.csdn.net/huawenguang/article/details/6557862
MQtUtil Class Reference
http://help.autodesk.com/view/MAYAUL/2016/CHS/?guid=__cpp_ref_class_m_qt_util_html
本人最终以maya2017、Qt5.6.1测试通过,推荐这个配置,之前版本都是Qt4.X的。
PS.就开发而言感觉官方倾向于PyQt,无论是资料还是视频,而且重新编写直接在Maya就可以运行。Qt开发插件因为不能进行进行断点感觉优势不大,而且感觉调试起来也很麻烦(生成mll再载入……),不过可以开发独立运行程序这个应该是个优势。
————————————————————————————————————————————————————————————————————————————————
2017.7.14
发现别人写的Blog里有如何调试非exe插件的方式:
http://www.cnblogs.com/marisa/p/5109886.html
3. 在maya 2016的窗口 -> 设置/首选项 -> 插件管理器中,点击浏览,添加python工程的启动文件(如我的是MMD4Maya.py)。
4. 在visual studio中点击调试 -> 附加到进程(Attach to Process),找到maya.exe点击附加,然后就可以设置断点了。
5. maya 2016中运行插件,运行到断点处visual studio就会断下来了。
虽然没有测试,但应该也一样的吧