#はじめに
Maya のスクリプトエディタがおまけ程度なので Visual Studio Code を使って MayaPython を書く環境ができないか模索してみた。
#手順
##インストール
###Visual Studio Code
まずは Visual Studio Code をインストール。持ってる場合はもちろん省略。
###Python
Visual Studio Code には、Python 開発に便利な機能をまとめた
Python というエクステンションがあるのでインストールする。
Visual Studio Code 上で F1 を押して下記を入力してインストールする。
ext install python
###MayaPort
続いて Visual Studio Code で入力したスクリプトを Maya に送って実行する
MayaPort というエクステンションがあるのでインストールする。
ext install mayaport
##MayaPort の設定
まず先に MayaPort の設定を行う。自分は Python ファイルで作ったが、下記のファイルを用意する必要がある。
commandPort -name "localhost:7001" -sourceType "mel" -echoOutput;
commandPort -name "localhost:7002" -sourceType "python" -echoOutput;
import maya.cmds as cmds
cmds.commandPort(name=":7001", sourceType="mel")
cmds.commandPort(name=":7002", sourceType="python")
ファイルが用意できたら、下記の場所に userSetup ファイルを置く。
念のため Visual Studio Code は再起動する。準備はこれで完了。
Windows: <drive>:\Documents and Settings\<username>\My Documents\maya\<Version>\scripts
MacOSX: ~/Library/Preferences/Autodesk/maya/<version>/scripts.
Linux: ~/maya/<version>/scripts.
##MayaPort の動作確認
Maya を起動したのち Visual Studio Code に戻り、以下のようなテストファイルを用意する。
print "connected!"
F1 を押してコマンドパレットを開き、以下を入力して MayaPort を起動する。
mayaPort
これで準備スクリプトを送る準備が完了。あとはコマンドパレットの場合は以下を入力する。
※ショートカットキーによる実行も可能。それも併記する。
Python の場合
コマンドによる実行
sendPythonToMaya
ショートカットによる実行
CTRL+SHIFT+P (Mac) ALT+SHIFT+P (Win)
MEL の場合
コマンドによる実行
sendMelToMaya
ショートカットによる実行
CTRL+SHIFT+M (Mac) ALT+SHIFT+M (Win)
##Python の設定
Python の設定を2つ変更します。
// 既定の設定を上書きするには、このファイル内に設定を挿入します
{
"python.pythonPath": "/Applications/Autodesk/maya2015/Maya.app/Contents/bin/mayapy",
"python.autoComplete.extraPaths": [
"/Applications/Autodesk/maya2015/devkit/devkit/other/pymel/extras/completion/py"
]
}
####python.pythonPath
Python コマンドのパスを指定する。
MacOSX: /Applications/Autodesk/maya2015/Maya.app/Contents/bin/mayapy
####python.autoComplete.extraPaths
オートコンプリートに使うファイルの指定。これを設定することでMayaのコマンドに候補が表示されるようになる。
MacOSX: /Applications/Autodesk/maya2015/devkit/devkit/other/pymel/extras/completion/py
##MayaPort の動作確認
ただし maya.cmds の候補表示に時間がかかる... おそらく上記のディレクトリにある maya.cmds のファイルが異常に大きいためっぽい。