MAYA 學習筆記 009 – MAYA Python 入門
摘要
就是一些 MAYA 內的 Python 要點,雖然有些並不限於 MAYA 內 …
筆記
1. 求救
help(print)
2. 跳出輸入框
name=raw_input('input text:') print name;
3. 布林值也是資料型態的一種
6<5 ## 傳回 False 6>5 and 10>3 ## 傳回 True
4. if else 語法
if a > 10: print aaa elif a< 3 and b < 10: print bbb else
5. for in 語法
for aaa in bbb: print aaa
6. 從 MEL 到 Python
基本上, MEL 就是 Shell 下指令的風格。我們要把它換成 Python 語法,只需要將形式修改即可,大部分的縮寫跟參數名稱都是不變的。
例如、MEL 的 ls,換成 Python 就是 maya.cmds.ls()
7. 原本附在 ls 後面的 arguments,則放到小括號內
例如、MEL 是 ls -sl (列出所有選取物體) 那Python 就是 maya.cmds.ls(sl=1)
這樣就翻譯完成了XDDD
8.
MEL
curveOnsurface -d 3 -uv 0 0 -uv 0.5 0.5 -u 0.6 0.8 -uv 1.0 1.0 nurbsPlane1;
Python
import maya.cmds maya.cmds.curveOnsurface('nurbsPlane1', d=3, uv=[[0,0],[0.5,0.5],[0.6,0.8], [1.0,1.0] ])
9. 其實無論 Python 或是 MEL,指令跟語法不是很重要啦 … 畢竟有手冊、有 MAYA 的 Script Editor 可以作弊,使用者不太需要擔心查不到指令。
重點是觀念以及想法.看你想做什麼樣的工作, idea 比較重要。
10. 每個指令都有不同的模式可以用,以下列舉三個重要模式:
查詢模式
import maya.cmds maya.cmds.sphere("nurbsSphere1",q=1,r=1) # q=1 就是查詢模式,r=1 就是告訴python:我要查的是 r
編輯模式
import maya.cmds maya.cmds.sphere("nurbsSphere1",e=1,r=10) # 把這個球的半徑設定為 10, e=1 就是編輯模式
創建模式 :就是生成物體
import maya.cmds
maya.cmds.sphere()
# 建立一個新的 NURBS 球體
11. 直接打 MEL
import maya.mel as mm mm.eval("select -cl;") # 引號中的就是MEL命令
12. 這樣從 MEL 翻譯到 Python 有什麼意義嗎?
嗯 XD 好問題,老實說,沒什麼意義呢! 這樣做,可以說只是在用 Python 的語法,進行 MEL 的思考、做 MEL 的工作而已。
如果你希望能夠用更加 Python 的風格來工作,那麼應該考慮 PyMEL
Leave a Reply