Maya插件开发入门

1407 篇文章 2 订阅
1277 篇文章 12 订阅

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;
}

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Maya插件开发是使用Python编写自定义功能和工具的过程。可以使用Python脚本编写Maya插件,以增加新的命令、节点、工具等。以下是一个简单的示例来说明如何开发Maya插件。 首先,您可以使用Eclipse/Pydev等IDE进行Python调试。网址提供了关于如何在Maya中使用Eclipse/Pydev进行调试的详细说明。 然后,您需要导入必要的Maya模块和类,如OpenMaya和OpenMayaMPx。您可以使用sys模块导入所需的模块,并使用import语句导入必要的类。网址展示了一个简单的Maya插件代码示例,其中定义了一个名为spHelloWorld的命令。 在Maya插件开发中,您还可以使用PySide2或其他GUI库创建用户界面。然后,您可以将此界面与Maya插件代码进行交互。网址提供了一个代码示例,展示了如何在PySide2中创建一个界面,并与Maya插件代码进行交互。 总结来说,Maya插件开发是使用Python编写自定义功能和工具的过程。您可以使用Python脚本编写命令、节点、工具等,并使用GUI库创建用户界面与Maya插件代码进行交互。如果您想要进一步了解Maya插件开发的详细信息,可以参考上述提供的链接。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [用python编写maya插件](https://blog.csdn.net/stalendp/article/details/39646435)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *3* [Maya 搭建PyCharm 插件开发环境](https://blog.csdn.net/qq_35267906/article/details/107056912)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值