Maya是一个具有开放性的产品,这意味着任何用户都能更改以存在的maya的功能特点或是增加全新的功能特点。你可以通过一下几种方法来更改maya:
[list]
[*]MEL™—(Maya Embedded Language) 一个强大而易学的脚本语言。很多常用的操作都能使用mel来完成。
[*]Python™— 一个强大而易学的脚本语言,它提供了一个maya命令的接口。
[*]C++ API—(Application Programmer Interface) 提供比MEL或Python更好的功能。通过API你能给maya添加新的物体,代码执行的速度是起相同作用的MEL的10倍左右。当然,你可以在API中执行MEL命令。
[*]Maya Python API—基于API并允许通过Python脚本语言来使用API。
[/list]
以上翻译自Maya帮助文档
[url]http://download.autodesk.com/us/maya/2010help/files/Maya_API_introduction.htm[/url]
其实Maya C++ API 就是一个C++类库,而Maya Python API就是一个python类库(也可以称为maya模块,但我认为整个maya模块应该包括maya.standalong以及maya.cmds等)。
这些类库为:
[list]
[*]OpenMaya—包含定义节点和命令并将它们装配到插件中的基础类
[*]OpenMayaUI—包含的类用来创建新的用户界面,例如manipulators, contexts, and locators。
[*]OpenMayaAnim—包含的类用来动画化,包括变形器和反向运动学(ik)
[*]OpenMayaFX—包含Autodesk® Dynamics™的类
[*]OpenMayaRender—包含的类用来执行渲染方法。
[/list]
所以要学习或运用Maya API需要对面向对象编程(oop)和类的写法及用法有一定的了解,而且就算你都具备这些知识也不见得就能很快的就上手,很多maya高手都精通mel,但学API都很吃力,如果你经常去逛国外的CG论坛,“如何去学API”或是“哪里有API的教程“之类的问题,在maya编程的板块还是有不少的。在我看来Mel和API就是地和天的区别,在地上爬或走是很简单的,但要在天上飞,就有难度了。
最后给出一些能学习API的连接
Developer Resources(在线的maya帮助文档)
[url]http://download.autodesk.com/us/maya/2010help/files/WS73099cc142f48755-4bc38c931187aa80bc9-32b5.htm[/url]
python_inside_maya
[url]http://groups.google.com/group/python_inside_maya[/url]
Ryan Trowbridge的blog(牛人)
[url]http://www.rtrowbridge.com/blog/[/url]
Bryan Ewert的Maya API How-To(很牛的,也是很早期的C++ API学习资料)
[url]http://ewertb.soundlinker.com/api/api.htm[/url]
[list]
[*]MEL™—(Maya Embedded Language) 一个强大而易学的脚本语言。很多常用的操作都能使用mel来完成。
[*]Python™— 一个强大而易学的脚本语言,它提供了一个maya命令的接口。
[*]C++ API—(Application Programmer Interface) 提供比MEL或Python更好的功能。通过API你能给maya添加新的物体,代码执行的速度是起相同作用的MEL的10倍左右。当然,你可以在API中执行MEL命令。
[*]Maya Python API—基于API并允许通过Python脚本语言来使用API。
[/list]
以上翻译自Maya帮助文档
[url]http://download.autodesk.com/us/maya/2010help/files/Maya_API_introduction.htm[/url]
其实Maya C++ API 就是一个C++类库,而Maya Python API就是一个python类库(也可以称为maya模块,但我认为整个maya模块应该包括maya.standalong以及maya.cmds等)。
这些类库为:
[list]
[*]OpenMaya—包含定义节点和命令并将它们装配到插件中的基础类
[*]OpenMayaUI—包含的类用来创建新的用户界面,例如manipulators, contexts, and locators。
[*]OpenMayaAnim—包含的类用来动画化,包括变形器和反向运动学(ik)
[*]OpenMayaFX—包含Autodesk® Dynamics™的类
[*]OpenMayaRender—包含的类用来执行渲染方法。
[/list]
所以要学习或运用Maya API需要对面向对象编程(oop)和类的写法及用法有一定的了解,而且就算你都具备这些知识也不见得就能很快的就上手,很多maya高手都精通mel,但学API都很吃力,如果你经常去逛国外的CG论坛,“如何去学API”或是“哪里有API的教程“之类的问题,在maya编程的板块还是有不少的。在我看来Mel和API就是地和天的区别,在地上爬或走是很简单的,但要在天上飞,就有难度了。
最后给出一些能学习API的连接
Developer Resources(在线的maya帮助文档)
[url]http://download.autodesk.com/us/maya/2010help/files/WS73099cc142f48755-4bc38c931187aa80bc9-32b5.htm[/url]
python_inside_maya
[url]http://groups.google.com/group/python_inside_maya[/url]
Ryan Trowbridge的blog(牛人)
[url]http://www.rtrowbridge.com/blog/[/url]
Bryan Ewert的Maya API How-To(很牛的,也是很早期的C++ API学习资料)
[url]http://ewertb.soundlinker.com/api/api.htm[/url]