maya python_Maya 中的 Python
Python 腳本可用于 Maya 中的許多任務(從運行簡單命令到開發插件),并針對不同的任務提供了幾個與 Maya 相關的不同庫。以下是 Maya 附帶的 Python 庫的簡短概述:
maya.cmds
這是 MEL 命令的 Python 包裝,可以代替 MEL 使用。詳細信息請參見
使用 Python 和
Python 命令參考.
pymel.core
Pymel 是 MEL 的替代包裝,由第三方開發。它隨 Maya 提供,但是 Autodesk 不支持它。它以不同方式組織命令,與過程方法相比,它采取面向對象的方法
maya.cmds. 詳細信息請參見
使用 PyMEL 和
PyMel 參考.
maya.OpenMaya
這是 Maya C++ API 的 Python 包裝,稱為 Python API 1.0。它適合開發插件和需要 MEL 未公開的功能的其他任務。若要了解已公開的類,應該參考概念主題和“C++ API 參考”
Maya 開發人員幫助. 詳細信息請參見“Maya Python API 1.0”
Maya 開發人員幫助。
maya.api.OpenMaya
這是 Maya C++ API 的 Python 包裝,稱為 Python API 2.0。此包裝具有比 Python API 1.0 更佳的性能且更“適合 Python”。它也是較新的 API,仍在開發中,因此并非 1.0 中公開的所有類都可用。詳細信息請參見“Maya Python API 2.0”和“Maya Python API 2.0 參考”
Maya 開發人員幫助。
使用 maya.cmds
Autodesk Maya 支持在任何用于使用 MEL 命令的地方使用 Python 樣式的腳本。通過在 Maya 中實施 Python 腳本,可以提供與通過 MEL 提供的到本地 Maya 命令的相同訪問權限。也就是說,所有的內置 Maya 命令(如 sphere、ls 等)都可以通過 Python 訪問。
對于作為 MEL 腳本編寫的命令(實際上是 MEL 全局程序 (procs)),可以通過對訪問 MEL 的調用 (maya.mel.eval) 訪問。有關詳細信息,請參見 MEL/Python 通信。
Maya 附帶了 PySide 2.0 版。它是使用 Python 2.7 和 Maya Qt 5.6.1 版構建的。
注: 存在 Python 中不可用的某些 MEL 內置函數,盡管它們通常具有 Python 對應項。其中包括數學函數(
abs、
sin、
cos...)和字符串函數(
match、
gmatch、
tokenize...)。(可以將一組 MEL 內置函數視為 MEL 運行時庫。)
Python 附帶多種標準模塊,它們可提供類似的功能。請參見 Python 文檔,了解有關可用函數以及如何在 Python 腳本中使用這些函數的信息。
為 Maya 2018 構建 PyQt
為 Autodesk Maya 2018 構建 PyQt 時,必須使用 Microsoft 2015 Visual Studio Update 3 編譯器。
有關如何構建 PyQt 模塊的副本的說明,請參見 autodesk.com/maya-docs 下的 PyQt 部分。
Python 命令參考(Python Command Reference)
Python 命令參考類似于 MEL 命令參考。有關所有 Python 命令的詳細信息,請參見“Maya 幫助”(Maya Help)中的 Python 命令參考文檔。
可以通過選擇“幫助 > Python 命令參考”(Help > Python Command Reference)訪問幫助或打開“Maya 幫助”(Maya Help)(“幫助 > Maya 幫助”(Help > Maya Help)),當“幫助”(Help)打開后,請單擊導航框架底部的 CommandsPython。
版本
Maya 通過 Maya 安裝程序安裝 Python。Maya 在所有受支持的平臺上使用 Python 2.7.11 版。Maya 的獨立 Python 殼在 Windows 上的名稱為 mayapy.exe,在 Linux 和 Mac OS X 上為 mayapy。
外部資源
有關 Python 快速入門的信息(包括參考資料和資源),請訪問以下網址:
在 Python 中和為 Python 初始化 Maya 環境
Maya 無論何時啟動,都在 userSetup.py 文件中運行 Python 命令。可以使用該文件設置您的工作環境或執行常用 Python 命令,例如導入 maya.cmds 模塊。
在 Maya 的初始化和設置階段執行 userSetup.py 腳本;因此,只有用于設置工作環境并且與 Maya 功能沒有依存關系的命令才能在該腳本中成功運行。
注:
您可以使用 maya.utils.executeDeferred() 延遲代碼執行,直到初始化 Maya 場景之后再執行。有關詳細信息,請參見 maya.utils。
在以下文件夾中創建名為 userSetup.py 的文件:
Windows:\My Documents\maya\\scripts
Mac OS X:~/Library/Preferences/Autodesk/maya//scripts
Linux:~/maya//scripts
在 userSetup.py 文件中,鍵入您希望 Maya 在啟動時運行的命令;例如 import maya.cmds as mc。
注:
請確保使用正確的擴展名 (.py) 保存該文件。
將項目添加到 Python 路徑中
若要將項目添加到 Python 的路徑中,請執行下列操作之一:
在運行 Maya 之前設置 Maya.env 文件或您環境中的 PYTHONPATH
Maya 運行后,附加到 userSetup.py 或其他腳本中的 sys.path。
以下是一個附加 sys.path 的示例
import sys sys.path.append( '/Users/jdoe/maya/Scripts' )
注:
userSetup.py 必須位于初始的 Python 路徑 (
sys.path) 中才能在啟動時自動運行。可以通過設置環境變量 PYTHONPATH 將其添加到默認的 Python 路徑。
MEL 和 Python 導入
如果您的路徑中存在 MEL 腳本,則在訪問該腳本包含的任何一個同名全局程序之前,您不需要獲得它的來源。但是,Python 需要您在訪問它包含的任何類或函數之前顯式導入腳本;例如:
# This will access the function "bar" in the file "foo.py"
import foo
foo.bar()
總結
以上是生活随笔為你收集整理的maya python_Maya 中的 Python的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python怎么实现音乐快进_如何用PY
- 下一篇: 鸿蒙玩王者荣耀,王者荣耀鸿蒙版