(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. IE7下z-index混乱问题(转)

    浏览器兼容性问题太让人蛋疼了,今天可是废在了IE7的z-index问题上.可又不能因为浏览器版本低而不去解决,毕竟要从用户的角度着想.百度了好多还是无法解决,最后google了一下,找到了方法. 直接 ...

  2. WeView 里引用的H5中的文字 到行末尾 文字被切割

    这个情况 在iPhone6以上没问题  以下有问题  具体情况是 我用以下代码计算内容的高度 NSString *injectionJSString = @"var script = doc ...

  3. linux 安装一些命令

    一.安装wget命令: debian 或者 ubuntu : sudo apt-get install wget centos : sudo yum -y install wget 二.安装rz.sz ...

  4. div中显示页面

    在css中显示页面,在页面布局中很多时候都要在一个div 里显示某些页面.在这里写下我用到的一种方式. <script type="text/javascript"> ...

  5. Linux shell:FTP(文件传输协议)上传下载命令

    SecureCRT通过ftp将nmon上传,建立一个目录,用命令上传文件.[命令见下面] 或通过UE.SSH上传/下载,使用sftp建立链接. [通过cmd进入ftp服务器]先假设有一FTP服务器,F ...

  6. 2016年5月面试题(Unity&iOS)

    NGUI的DrawCall drawcall定义:对底层图形程序(比如:OpenGL ES)接口的调用,以在屏幕上画出东西. List在内存中连续的空间保存 List是线性直接存储类型 mipMap是 ...

  7. iOS 按钮点击变色

    之前一直以为是要在selected状态下增加一个背景图片,效果是颜色变深,明明我的图片是变浅: 之后试了用hightlighted 成功. [_loginBtn setBackgroundImage: ...

  8. C# .Net中七层架构浅析

    Model实体层,DBUtility数据访问抽象类,IDAL数据访问接口层,SQLServerDAL数据访问层,DALFactory数据访问工厂类,BLL业务逻辑层,UI界面层 一.项目名称及描述:( ...

  9. 什么是html技术

    HTML(Hyper Text Mark-up Language )即超文本标记语言,是 WWW 的描述语言,由 Tim Berners-lee提出.设计 HTML 语言的目的是为了能把存放在一台电脑 ...

  10. 【转】mysql忘记密码(未初始化)

    Mac OS X - 重置 MySQL Root 密码您是否忘记了Mac OS 的MySQL的root密码? 通过以下4步就可重新设置新密码:1.  停止 mysql server.  通常是在 '系 ...