2011-04-07 21 views
0

我想在Maya API中創建一個插件,該插件基本上有一個Maya內的菜單,我將能夠加載在不同的字符頭取決於哪個按鈕被按下。Maya API - 創建插件導入各種模型

這是我第一次使用Maya API,所以我很陌生。

有關如何使用API​​導入類似模型的任何想法?

非常感謝! Tyler

回答

2

我建議使用MEL作爲開始,而不是Maya API。 你應該看看的MEL命令是file將文件導入你的場景(例如磁頭),並可能全部是UI related commands來創建一個簡單的窗口。

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模塊,因此您可以使用腳本模擬整個功能。

換句話說,您可以在腳本和插件中使用「import maya.cmds as cmds」,並且您希望的實際功能完全可以使用該模塊。因此,我建議您製作一個腳本,先執行您想要的操作,然後再將該腳本轉換爲插件。一旦你已經有了一個可用的腳本,創建一個實現這個結果的命令插件應該相當簡單。然後,您只需使用UI API模塊將菜單添加到現有的Maya UI中即可。

一旦你的腳本完成後,這裏是Autodesk的教程鏈接創建命令插件:Autodesk Python API Documentation

這cgsociety討論包含了很多讓Maya的內部UI的有用的提示(討論的是C++,但相同的概念適用於python插件):C++ Add Menu to Maya's Main Menu Bar

我認爲這將全部使用Python來完成,因爲腳本和插件都可以使用該語言進行編程。這也是我使用的 - 我從未深入研究過C++ API。無論如何,我希望這有助於!祝你好運:)