2013年03月

EclipseでMayaPython開発 その2


EclipseでMayaPython開発 その1 / 3
EclipseでMayaPython開発 その2 / 3
EclipseでMayaPython開発 その3 / 3



5. PyDevにインタプリタを設定する

Eclipseから呼び出すPythonインタプリタを設定をします。

Mayaが呼び出すPythonとは別系統の設定になるので、別途インストールしたPythonインタプリタに対して設定が必要です。
(PreiadesでPythonパッケージを選択した場合も必要になります。)

私の方で試しにMaya付属のインタプリタで導入出来ないか試してみましたが、何故か失敗しました。
PyMELのドキュメントでは、「できる」と書いてあったので原因がよく分からないのですが、恐らくライブラリの配置が違っているか、微妙に仕様変更があるのでしょう・・・。ここは面倒なので深く考えない事にします。

Eclipseメニューの「ウィンドウ」-「設定(P)」と進み設定ウィンドウを開きます。
「PyDev」の項目を展開し、「インタプリター - Python」を選択。

右上の「新規(W)…」をクリックするとインタプリタ選択ウィンドウが開くので、「参照(E)…」をクリック、インタプリター名は何でもいいのですが、今回は取り敢えず「Python27」にしておきます。

次に右側の「参照(E)...」をクリック、新規にインストールしたPythonの実行ファイル(pythonw.exe)を指定してやります。
これで、後はウィザードを適当に進めるだけで設定完了です。

ちなみに、Pythonの環境パスが設定されている場合は、「自動構成」ボタン一発で設定することが出来るのでそちらの方が楽です。

構成が完了するとウィンドウ下半分の「ライブラリー」タブへ一覧が追加されます。



6. オートコンプリートを有効にする

次にMaya関係のオートコンプリートを有効にするために、事前定義ファイルをEclipseに認識させます。
この機能があるだけでEclipseを使う価値があると思えるほど重要な機能です。

同じくインタプリタ設定画面の「ライブラリー」タブを「事前定義」タブへ移動します。

右側にある「新規(W)...」ボタンを押します。

フォルダの参照ダイアログが出るので、以下のフォルダを指定してください。

maya.cmds
...略...\Maya2013\Python\Lib\site-packages
pymel
...略...\Maya2013\devkit\other\pymel\extras\completion\pypredef

(OpenMayaについては情報が見つかりませんでした。何か御存知の方が居ましたら、是非コメント欄にてご連絡いただけると幸いです。)

これでMayaライブラリのオートコンプリートが有効になります。



7. Maya側でコマンドポートを開く

最後に、Eclipseと通信するためにMaya側でコマンドポートを開きます。

MayaのPythonエディタで以下のコマンドを実行してください。
import maya.cmds as cmds

if cmds.commandPort(':7720', q=True) !=1:
cmds.commandPort(n=':7720', eo = False, nr = True)

こちらで強化版を公開しました。

このコマンドはMayaが起動する度に再度実行が必要になるので、シェルフに登録しておくと便利かと思います。
起動スクリプトに設定してもいいですが、その場合複数Maya起動時に接続先が曖昧になるのであまりオススメできません。

ここまでの作業で全ての設定が終了し、実際にEclipseで書いたコードがMaya上で実行出来るようになります。

実行は、Eclipseメニューに追加されている以下のMayaEditorアイコンから行うか、ショートカットキーを使います。

MayaEditorアイコン

アイコンは、左から順に
  • カレントスクリプトを全て実行
  • 選択した部分のみ実行
  • 各種ドキュメントを開く(ドロップダウン)
  • Mayaと再接続
となります。

適当なコードを記述して、実際にMaya上で実行出来るか確認してみてください。
Mayaときちんと接続されている場合、Mayaの実行結果がEclipse出力パネルでも確認できます。




その3へ続きます
スポンサーサイト
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。