我正在尝试在 Maya API 中创建一个插件,该插件基本上在 Maya 内部有一个菜单,并且我将能够根据按下的按钮加载不同的角色头。
这是我第一次使用 Maya API,所以我很陌生。
关于如何使用 API 导入这样的模型有什么想法吗?
非常感谢!泰勒
正如 Byron 所提到的,MEL 或 Python 脚本将是比使用 API 更简单的解决方案。与脚本相比,使用 API 能够完成的工作有一个关键区别:
使用 OpenMayaUI 模块,您可以将“头部选择 UI”直接插入 Maya 的现有菜单中。
使用脚本,您将被限制在可以停靠在 Maya UI 中某些位置的浮动 ui 窗口(这在技术上并不正确,但是以这种方式使用脚本比试图将脚本强制进入 UI 要容易得多)。此外,为要在 Maya 中启动的脚本创建一个按钮需要脚本用户采取额外的步骤。它不能为他们“安装”到 Maya 中(同样,技术上不正确,但大多数用户更喜欢架子按钮而不是 UI 中的菜单)。有关详细信息,请参见Autodesk 文档:为脚本创建工具架按钮。
我看不出一个脚本不能满足简单的头部交换动作的理由,但是如果你想把它用作学习 API 的练习,那么我可以给你一些建议:
首先,所有非 API Maya 命令都可以在脚本中访问,也可以使用 API 插件访问。由于此“插件”不需要任何 API 模块,除了将插件直接添加到 UI 所需的那些之外,您可以使用脚本模拟整个功能。
换句话说,您可以在脚本和插件中使用“import maya.cmds as cmds”,并且您想要的实际功能完全可以使用该模块。因此,我建议您先编写一个执行所需操作的脚本,然后将该脚本转换为插件。一旦你已经有了一个可以工作的脚本,创建一个实现这个结果的命令插件应该是相当简单的。然后,您需要做的就是使用 UI API 模块将您的菜单添加到现有的 Maya UI。
脚本完成后,这里是 Autodesk 关于创建命令插件的教程的链接:Autodesk Python API 文档
这个 cgsociety 讨论包含许多有用的技巧,让你的 UI 进入 Maya(讨论是关于 c++,但同样的概念适用于 python 插件):C++ Add Menu to Maya's Main Menu Bar
我已经假设这一切都将使用 Python 完成,因为脚本和插件都可以用该语言编写。这也是我使用的——我从未深入研究过 c++ API。无论如何,我希望这会有所帮助!祝你好运 :)