我正在尝试在Maya API中创建一个插件,它基本上会在Maya中有一个菜单,我可以根据按下的按钮加载不同的字符头。
这是我第一次使用Maya API,所以我很陌生。
有关如何使用API导入此类模型的任何想法吗?
非常感谢! 泰勒
答案 0 :(得分:2)
我建议使用MEL作为开始,而不是使用Maya API。 您应该查看的MEL命令是file将文件导入场景(例如头部),可能还需要UI related commands来创建一个简单的窗口。
答案 1 :(得分:0)
正如Byron所说,MEL或Python脚本将比使用API更简单。与脚本相比,使用API可以实现的目标之间存在一个关键区别:
使用OpenMayaUI模块,您可以插入"头部选择UI"直接进入Maya的现有菜单。
使用脚本,您只能使用浮动的ui窗口,该窗口可以停靠在Maya的UI中的某些位置(这在技术上并不正确,但是以这种方式使用脚本而不是尝试更容易强制您的脚本进入UI)。此外,为要在Maya中启动的脚本创建按钮需要脚本的用户采取额外步骤。它不能安装"进入Maya为他们(再次,技术上不是真的,但大多数用户更喜欢架子按钮而不是UI中的菜单)。有关详细信息,请参阅Autodesk Documentation: Creating a shelf button for a script。
我认为没有理由说脚本不足以进行简单的头部交换操作,但如果您希望将其用作学习API的练习,那么我可以给您一些指示:
首先,可以在脚本中使用所有非API Maya命令,也可以使用API插件。因为这个"插件"除了将插件直接添加到UI所需的API模块之外,不需要任何API模块,您可以使用脚本模拟整个功能。
换句话说,您可以使用" import maya.cmds作为cmds"在脚本和插件中,您希望的实际功能完全可以使用该模块。因此,我建议您制作一个脚本,首先执行您想要的操作,然后将该脚本转换为插件。一旦你有一个可行的脚本,创建一个实现这个结果的命令插件应该相当简单。然后,您需要做的就是使用UI API模块将菜单添加到现有的Maya UI。
一旦您的脚本完成,这里有一个指向Autodesk创建命令插件的教程的链接:Autodesk Python API Documentation
这个cgsociety讨论包含很多有用的技巧,可以将你的UI放在Maya内部(讨论是关于c ++的,但同样的概念适用于python插件):C++ Add Menu to Maya's Main Menu Bar
我已经开始假设这一切都将使用Python完成,因为脚本和插件都可以用该语言编程。它也是我使用的 - 我从未深入研究过c ++ API。无论如何,我希望这有帮助!祝你好运:)