Tips For Your Maya Plugin Development

时间:2021-12-22 11:17:58

(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...)