(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. POJ1385 计算多边形的重心

    point gravity_center(point* p,int n) {    double area=0.0;    point ZERO;    ZERO.x = 0;    ZERO.y = ...

  2. codeforces 651C(map、去重)

    题目链接:http://codeforces.com/contest/651/problem/C 思路:结果就是计算同一横坐标.纵坐标上有多少点,再减去可能重复的数量(用map,pair存一下就OK了 ...

  3. Robot_bfs

    Description The Robot Moving Institute is using a robot in their local store to transport different ...

  4. 解决 WPF AllowsTransparency = true 和 Webbrowser 等控件显示冲突

    代码: public class FormsWebBrowser { Window _owner; FrameworkElement _placementTarget; Form _form; AxA ...

  5. 关于JAVA学习计划和感想

    学习计划第一阶段:    JAVA语言基础知识.包括异常.IO流.多线程.集合类.    要求:异常------掌握try-catch-finally的使用          IO流------掌握字 ...

  6. Ashx的处理实例(逻辑处理/js调用)

    做asp.net开发的对.aspx,.ascx和.ashx都不会陌生.关于它们,网上有很多文章介绍.“纸上得来终觉浅,绝知此事要躬行”,下面自己总结一下做个笔记.1..aspxWeb窗体设计页面.We ...

  7. 点击其它地方DIV隐藏

    $(document).bind('click',function(e){ var e = e || window.event; //浏览器兼容性 var elem = e.target || e.s ...

  8. IOS-当遇到tableView整体上移时的解决方案

    方案一在使用了navigationController后,当界面进行跳转往返后,时而会出现tableView或collectionView上移的情况,通常会自动上移64个像素,那么这种情况,我们可以关 ...

  9. 第三个Sprint总结

    工作进展:项目基本已经完成 工作状况:                                      

  10. 解决getElementsByClassName的兼容性问题

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...