MAYA 學習筆記 005 – Python 初試

MAYA 學習筆記 005 Python

本筆記的參考課程為  Maya Mel基礎入門教學 ,最後三堂


1.import maya.cmds

匯入最基本的模組

2. Python 不用加分號 

但是分行、段落、縮排必須要做好,尤其縮排

3.hello python

import maya.cmds
maya.cmds.polySphere()
maya.cmds.select("pSphere1")
print "hello python!"

4. 模組

模組是獨立的python文件,但是在匯入後,會自動預編譯出一個 .pyc

.pyc 是二元檔,只要付上 .pyc 就可以繼續以 immport 的方式繼續使用,不必付上原始碼 .py

某種程度上可以保護原始碼,嗯…當然你反組譯的話就沒辦法了,看你的組譯器厲害還是 python 封裝器厲害

5. 執行maya.cmds.polySphere()

可以看到回饋訊息表示產生兩個節點,那如何存放回饋訊息?

mylist = maya.cmds.polySphere() 
print mylist[0]
print mylist[1]

即可存放訊息,下面兩個 print  得到兩個回饋訊息

6. 要同時列印出文字與變數

print ("This is :"+mylist[1])

一樣要小括號來做參數的關聯

7. 要在 python 中使用 MEL

import maya.mel
maya.mel.eval("原本的MEL程式碼");

裡頭的內容,Pyhton會用 MEL的語法來解釋,可如果遇到變數時,由於變數會是以 Python 的命名方式, MEL看不懂,因此要用””與+來進行區隔

例如、

maya.mel.eval("setAttr "+mylist[3]+".ty 0;")

其中 setAttr .ty 0; 都是 MEL 語法,mylist[3] 則是 python 變數,這裡不可能寫 maya.mel.eval(“setAttr $mylist[3].ty 0”) 的,因為沒辦法在 python 內處理 $開頭的變數

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料