VS Code好用的一筆有木有,這篇文章來講一下怎么用VS Code來寫Maya腳本萎津,Python和MEL一起講哥童。
準(zhǔn)備工作:
1.首先需要已經(jīng)安裝好Maya以及VS Code。
2.下載Maya開發(fā)包杏头,下載地址:
https://www.autodesk.com/developer-network/platform-technologies/maya
打開網(wǎng)頁往下找,根據(jù)你的Maya版本下載對應(yīng)的開發(fā)包:
下載完成后解壓到Maya的安裝目錄沸呐,注意大州,是安裝目錄!
這時候你的Maya安裝目錄應(yīng)該是這樣子了:
3.VS Code中安裝Python及MayaPort:
Maya配置:
需要在Maya中開啟端口垂谢,在ScriptEditor中輸入以下代碼:
Python的話用下面這段:
import maya.cmds as cmds
cmds.commandPort(name=":7001", sourceType="mel")
cmds.commandPort(name=":7002", sourceType="python")
MEL的話可以用下面這段:
commandPort -name "localhost:7001" -sourceType "mel" -echoOutput;
commandPort -name "localhost:7002" -sourceType "python" -echoOutput;
效果是一樣的厦画。
建議建一個腳本文件,這樣就不用每次啟動都手動開啟端口了滥朱。以Python為例根暑,把上面Python代碼復(fù)制到新建的.py文件中,放到下面目錄:
Windows: <drive>:\Documents and Settings\<你的windows用戶名>\My Documents\maya\<你maya的版本號>\scripts
(其實(shí)就是我的文檔下面maya文件夾)
MacOSX: ~/Library/Preferences/Autodesk/maya/<你maya的版本號>/scripts.
Linux: ~/maya/<你maya的版本號>/scripts.
這樣每次啟動都會自動載入腳本徙邻,打開端口排嫌。
測試鏈接
下面測試可以測試一下VS Code和maya能否連接成功了。
確定你maya已經(jīng)啟動并且開啟了端口缰犁,然后在VS Code中新建一個py文件淳地,隨便打印一行字:
print "Hello From VS Code!"
按F1,輸入MayaPort來啟動MayaPort:然后有兩種方法可以把代碼發(fā)送到Maya:
1.快捷鍵:
Alt+Shift+P(win)
Ctrl+Shift+P (MAC)
2.按F1在VS Code中輸入命令:
sendPythonToMaya
如果是MEL的話:
1.快捷鍵:
Alt+Shift+M(win)
Ctrl + Shift +M (MAC)
2.按F1在VS Code中輸入命令:
sendMelToMaya
Maya Python路徑設(shè)置及代碼自動補(bǔ)全
VS Code中按Ctrl+Shift+P颇象,輸入Settings打開settings.json配置文件,在大括號里加入下面代碼:
//python.pythonPath是指定Python命令路徑并徘,請根據(jù)你maya的安裝路徑來做修改
"python.pythonPath": "C:/Program Files/Autodesk/Maya2019/bin/mayapy.exe",
//python.autoComplete.extraPaths是代碼自動補(bǔ)全路徑遣钳,同樣根據(jù)你自己的maya安裝路徑來寫
"python.autoComplete.extraPaths": "C:/Program Files/Autodesk/Maya2019/devkit/other/pymel/extras/completion/py"
MAC請根據(jù)自己情況修改相應(yīng)路徑
注意:settings.json文件中,每一項設(shè)置用","隔開麦乞,最后一項設(shè)置后面沒有","蕴茴,如果報錯劝评,檢查一下是不是這里出現(xiàn)了問題。
現(xiàn)在就可以進(jìn)行代碼自動補(bǔ)全了倦淀,但是速度非常感人蒋畜,大家可以自行體會一下。撞叽。姻成。所有配置工作到這里就完成了,Enjoy :)
PS.有時候用著用著會發(fā)現(xiàn)maya接收不到代碼了能扒,重新開一下兩個軟件就好了佣渴,這是當(dāng)前版本MayaPort(V1.0.0)的已知問題辫狼,要等作者修復(fù)了初斑。