(The reason why I write English blog is that I'm trying to improve my written English. The Chinese version will be appended later.)

Tips For Your  Maya Plugin Development

- Request a block of node id from Autodesk for your studio or company if you are going to develop many maya plugins in the future.

How to request your own Maya NodeIds?
Access http://www.autodesk.com/developmaya and go to 'Register a Maya Developer Node ID Block' section. You'll find a link there to self-register your ID block.

You may ask that why this item should be followed? The next item is the answer.

- Share your node id list and node type name list to other developers in your company to avoid confiliction.

Take my opensource project mymagicbox as an example, you should share node_ids.h to others developers. Other developers can add their new node ids to this file. It would be better if this file could be synchronized between all developers in your comany. Because this will eliminate the node id confiliction.

You may ask that why this item should be followed? The next item is the answer.

- Stick to the node ID and the node type name. DO NOT change them as possible as you can.

For Maya, the node id is saved into .mb file and node type name is saved into .ma file. These files(*.ma, *.mb) could be your test case files or client's files. Both of them will take you A LOT OF TIME to update the node id(and node name) in these files(*.ma, *.mb). And sometimes it could be worse, because the connections between the nodes could be lost and the files(*.ma, *.mb) can't be used anymore, so the files(*.ma, *.mb) can't be updated, they have to be recreated!

If they are saved into client's file, and later you change the node id(or node type name) and release a new version of your plugin, the client's file(*.ma, *.mb) can't be used anymore.

Some effective ways which are learned from software development industry.

- Create unit tests for your plugin.

- Assembly your unit tests and create automation test for your project.

(to be continued...)

Tips For Your Maya Plugin Development的更多相关文章

  1. Automation Test in Maya Plugin Development

    现状和问题- 开发插件的功能A的时候随手建立场景, 测试插件的功能A. 测试通过后,测试场景就被丢掉.- 发现插件的功能A有bug时, 修改代码, 然后随手建立场景, 测试bug. 测试通过后,测试场 ...

  2. Debugging Maya Plugin(C++) with CodeBlocks in Linux

    My system is CentOS7 x64, Maya2015 x64 for Linux. - Make sure that your project is built with flag - ...

  3. eclipse preference plugin development store and get

    eclipse plugin development: E:\workspaces\Eclipse_workspace_rcp\.metadata\.plugins\org.eclipse.pde.c ...

  4. Maya Plugin 编译Maya插件

    Maya自身的功能就已经非常强大了,但是更棒的是它的扩展性非常强,提供API让用户自己来编写插件Plugin.Maya的插件主要是两种,一种是用C++编写的,后缀为".mll",另 ...

  5. 如何搭建maya plugin develop environment on MAC OS X

    1.首先我使用的平台是xcode version 5.1.1 ,MAYA2015, MAX OS X 10.9.4. MAYA2015要求的是:Mountain Lion 10.8.5, Xcode ...

  6. eclipse plugin development -menu

    org.eclipse.ui.menus locationURI MenuContribution locationURI = "[Scheme]:[id]?[argument-list]& ...

  7. JIRA Plugin Development——Configurable Custom Field Plugin

    关于JIRA Plugin开发的中文资料相当少,这可能还是由于JIRA Plugin开发在国内比较小众的原因吧,下面介绍下自己的一个JIRA Plugin开发的详细过程. 业务需求 创建JIRA IS ...

  8. Building GCC 4.1.2 in CentOS 7 for Maya API development

    Following the official guid: http://help.autodesk.com/cloudhelp/2015/ENU/Maya-SDK/files/Setting_up_y ...

  9. How to programmatically new a java class which implements sepecified interface in eclipse plugin development

    http://w3facility.org/question/how-to-programmatically-new-a-java-class-which-implements-sepecified- ...

随机推荐

  1. JSP弹出窗口和模式对话框

    本文转载于其它blog,在此向本文原创者,致意!    JSP 弹出窗口  一.window.open() 基础知识      1.window.open()支持环境:  JavaScript1.0+ ...

  2. Intellj IDEA Java随笔

    敲击sout+Tab会出现:System.out.println(); int(-2147483648, 2147483647) 当一个方法类型不是void时,那么我们不仅要考虑它正确时的返回值,错误 ...

  3. DotNetBar中TextBoxDropDown效果图

  4. opendir()函数

    opendir() 函数打开一个目录句柄,可由 closedir(),readdir() 和 rewinddir() 使用. 若成功,则该函数返回一个目录流,否则返回 false 以及一个 error ...

  5. 在Unity中创建可远程加载的.unity3d包

    在一个Unity项目中,发布包本身不一定要包括所有的Asset(译为资产或组件),其它的部分可以单独发布为.unity3d,再由程序从本地/远程加载执行,这部分不在本文讨论范围.虽然Unity并没有直 ...

  6. REDIS 字典数据结构

    对于REDIS来讲  其实就是一个字典结构,key ---->value  就是一个典型的字典结构 [当然  对于vaule来讲的话,有不同的内存组织结构 这是后话] 试想一个这样的存储场景: ...

  7. android 判断是否设置了锁屏密码

    方式1:在小米note手机上测试,只能判断是否设置了图形解锁. android.provider.Settings.System.getInt(getContentResolver(), androi ...

  8. tcp之快速重传与恢复

    本文为原创,转载请注明:http://www.cnblogs.com/gistao/ Background 写网络程序的都知道,tcp的窗口控制分为慢启动阶段和拥塞避免阶段,重传机制有快速重传/恢复和 ...

  9. Default Title

    測試的標誌 代表意義 1. 關於某個檔名的『檔案類型』判斷,如 test -e filename 表示存在否 -e 該『檔名』是否存在?(常用) -f 該『檔名』是否存在且為檔案(file)?(常用) ...

  10. Weblogic新增域(可以配置新端口)

    操作系统 :Linux version 2.6.32-504.el6.x86_64 Weblogic Server :11g 一.Weblogic新增域(可以配置新端口) 以weblogic用户登录 ...