![]() |
Eclipse を使ったMayaPython 統合開発環境(IDE) について Mayaのドキュメントを見ると Python で初めてスクリプトを記述する場合のヒントとコツ http://help.autodesk.com/view/MAYAUL/2015/JPN/?guid=GUID-8A96A8DB-FD6F-434F-A878-288DD84E99C7 にMaya で Python スクリプトをデバッグする項目があります。 pdbを使用する例が書かれています。こちらの詳細先です。 > http://docs.python.org/library/pdb.html そして、外部デバッガで使用するという項目には Wing IDE を Maya で使用するという例は書かれているのですが、Eclipse については記述は無いようです。 また、Eclipseを MayaPython開発に使う、という英語サイト例は少しありましたが、記述内容が少し古いようでした。 そこで今回ここで記述しようと思った内容は、 今のMaya2015で 最近のEclipseバージョンを使ってMayaPython開発環境を構築する、という例なのです。しかも日本語メニューで。 しかも、”できるだけ簡単に構築する”という方針で行ってみようと思います!! 誰でも簡単に作れるのでぜひまねて作ってみてください。 |
Pleiades - Eclipse を使って簡単用意 Eclipseを日本語化し、おまけにPyDevというPython環境用プラグインまでインストールしてくれている Pleiades All in Oneというパッケージがあります。これを使わない手はありません。 Eclipse Pleiades All in One https://willbrains.jp/ ![]() ここでもEclipse 4.3.2 Kepler ケプラーのバージョンのボタンを押します。 v
更に細かいバージョンが表示されるので、今回はWindows64bitでPythonに対応したFull Editionを選択し ダウンロードします。![]() ここでは、pleiades-e4.3-python-jre_20140321.zip506MBというファイルをダウンロードしたことになります。 これを解凍すると中に既に実行できるEclipse.exeが用意されていますが、インストーラーは無いです。 そこで、このEclipse.exeが実行できるようにとProgram Files以下に置いて実行しようとすると 管理者として実行することを毎回要求してくるようになってしまうので一工夫します。 ![]() ![]() 起動してみると、既にPydevはインストールされおり、日本語にもなっています。 ![]() ■ちょっと知っておきたいEclipse使い方。
Tabで4文字分の空白(インテント)になるように設定出来ます。2箇所チェックします。 ウィンドウ > 設定(設定ボタン;F10) >一般 > エディタ > テキスト・エディタ内で 表示されるタブ幅4
[レ]タブでスペースを挿入をチェック入れる。 ![]() ウィンドウ > 設定(設定ボタン;F10) > PyDev > エディター > 内で
タブ長4
[レ]入力時にスペースでタブを置換をチェック入れる。 ![]() また、テキストエディタ内のフォントの大きさを変えるには
ウィンドウ > 設定(設定ボタン;F10) > PyDev > エディタ > 内 の 下のColors and Fonts部分をクリックして 色とフォントの 設定画面内、基本 > テキスト・フォントを選択して[編集]ボタンを押してフォントをサイズを指定します。 ![]() 一度スクリプトを作成してファイル > 保管をするとC:\pleiades\workspace以下にプロジェクトが保存されるのですが、
そのプロジェクトを新しく読み込みたい場合は以下の手順で行います。(少し解りにくいので記述します。) ファイル > インポート(左欄を右マウスクリック > インポート) から一般 > 既存プロジェクトをワークスペースへを選択して[次へ]ボタンを押します。 ![]() ◎ルート・ディレクトリーの選択を[参照]ボタンからC:\pleiades\workspaceを指定して
プロジェクト欄に表示される読み込みたいプロジェクトだけを[レ] チェックを入れ、下の[完了]ボタンを押すと開きます。 ![]() |
インタープリターの設定 さて、今回は解凍した中からPythonというディレクトリーをコピーして来なかったので、
どのPythonインタープリターを参照するか設定します。 Pydevのインストールの確認しながら順に見ていきましょう。 ![]() ウィンドウ > 設定(設定ボタン;F10) から設定画面を表示します。
![]() 既にメインメニューにもPydev項目がありますが、
設定画面の中にもPydevと書かれている欄があり、クリックするとバージョンが解ります。 その中を展開してPython Interpreterの項目をクリックして設定画面を表示させます。 ![]() Pythonのインタープリターには2015_mayapy.exeを指定します。
![]() 右側[ 新規 ] ボタンを押して、
インタープリター名を2015_mayapy
インタープリター実行ファイルをC:\Program Files\Autodesk\Maya2015\bin\mayapy.exe を指定します。 下段のライブラリータブのシステム PYTHONPATHには追加でワークグループ設定のPythonパスも追加してみました。 |
オートコンプリートの設定 事前定義ファイルを設定をすることで、Mayaコマンド類がオートコンプリートします。 ![]() 事前定義 タブの 右側[ 新規 ] ボタンを押して 以下2つを登録します。 maya.cmds用C:\Program Files\Autodesk\Maya2015\Python\Lib\site-packages pymel用C:\Program Files\Autodesk\Maya2015\devkit\other\pymel\extras\completion\pypredef |
MayaEditor の設定(CreativeCrashへのユーザー登録が必要) Eclipseで書いた Pythonスクリプトを Mayaへ送信するプラグインMayaEditorをインストールします。 これは下記にて公開されているものですが、ダウンロードするにはユーザー登録が必要です。 Eclipse Maya Editor- Free Syntax / Scripting Applications Downloads for Maya http://www.creativecrash.com/maya/downloads/applications/syntax-scripting/c/eclipse-maya-editor 対応Eclipse, Maya 2011, Maya 2012, Maya 2013, Maya 2014, Maya 2015 - Eclipse Kepler, Juno, Indigo, and Helios supported. mayaEclipse.zip229 KBの中身は、eclipseMayaEditor_2015.0.0.201405052317.jarというバイナリーデータです。 このファイルの最も簡単なインストール方法は eclipseMayaEditor_2015.0.0.201405052317.jarをC:\pleiades\eclipse\plugins内にコピーする、です。 英語ですが、詳細はこちらです。>http://www.creativecrash.com/tutorials/using-eclipse-as-a-maya-ide ![]() アイコンは、左から順に
この ショートカットキーは任意のキーに変更することが出来ます。 ウィンドウ > 設定(設定ボタン;F10)> 一般 > キーの項目で、 フィルターと書かれている欄に*Mayaと書くと Mayaと書かれたコマンド類のみを表示してくれます。 コマンドを他のキーに設定する時は、キーが重複しないかもチェック出来ます。 ![]() コマンドポートの設定 MayaとEclipseを連動させるためには、下記コードをシェルフに登録 して実行するか、userSetup.pyに書いて起動時に実行されるようにします。 userSetup.py を利用して起動実行する場合は、複数のMayaバージョンを起動するようなことは避けた方が良いようです。
デフォルトのポート番号は7720ですが、任意の値 に変更することが出来ます。 ウィンドウ > 設定(設定ボタン;F10)> Maya Editor Preferenceの項目から、各種設定が変更できます。
![]() |
Pythonスクリプト の動作確認 まずは簡単なPythonスクリプトで動作確認をしていきましょう。例の helloWorld です。 ・Eclipseを起動します。 ・新しいプロジェクトを作成します。 ファイル > 新規 > Pydev プロジェクト ![]() ![]() ・プロジェクト・コンテンツ[レ]デフォルトを使用([C:\pleades\workspace\helloWorld]) ・プロジェクトのタイプ◎ Python ・文法バージョン2.7 ・インタープリターDefault > 2015_mayapy ◎ Create 'src'folder and add it to the PYTHONPATH src の フォルダーが作成されるように、2個目のタイプを選ぶのが良いでしょう。[完了]ボタンを押します。 ![]() 左側helloWorld ・srcノードを選択し、右クリック-> New -> Pydev Moduleを選択します。 ![]() NamehelloWorld ![]() ・print "Hello world!"と記入します。 ・ファイル > 保管と押すと上書きするかと聞かれるのでOKを押します。 ワークスペースのC:\pleiades\workspace\helloWorld\src 内に helloworld.pyが保存されています。 ![]() 左側helloWorld.pyを選択している状態で、ツールバーの緑矢印アイコンから実行 > 2 Python 実行を選択します。 下のコンソールに実行結果が表示されれば OK です。 TIPS下のコンソール部分は、この後紹介する Mayaの結果表示の画面と、右側のモニター画面の絵のアイコンで切り替えることが出来ます。 ![]() |
Mayaスタンドアローンのアプリケーション の動作確認 同じ helloWorld ですが、今度はMayaのスタンドアロンなアプリケーションとしてMaya2015 の devkit 内にあるhelloWorld.py を動かしてみたいと思います。 途中までは上記方法と全く同じなので、解り易いと思います。 上記で作成したC:\pleiades\workspace\内のhelloWorld を削除するかリネームするかしてダブらないようにします。 ・Eclipseを起動します。 ・新しいプロジェクトを作成します。 ファイル > 新規 > Pydev プロジェクト ・プロジェクトの設定をします。 ・プロジェクトの名helloWorld ・プロジェクト・コンテンツ[レ]デフォルトを使用([C:\pleades\workspace\helloWorld]) ・プロジェクトのタイプ◎ Python ・文法バージョン2.7 ・インタープリターDefault > 2015_mayapy ◎ Create 'src'folder and add it to the PYTHONPATH srcの フォルダーが作成されるように、2個目のタイプを選ぶのが良いでしょう。[完了]ボタンを押します。 ・Pydevパッケージエクスプローラ・ウィンドにあるプロジェクトのノードを1つ展開します。 左側helloWorld ・srcノードを選択し、右クリック-> New -> Pydev Moduleを選択します。 ・名前を入力します(拡張子無し)。 NamehelloWorld ![]() ![]() passの部分をmain()に置き換えます。 ![]() すかさず、import部分とmainの中身を記述して完成させます。 ![]()
・ファイル > 保管と押すと上書きするかと聞かれるので、OKを押すとワークスペースの C:\pleiades\workspace\helloWorld\src に helloworld.py が保存されています。 ![]() 左側 helloWorld.py を選択している状態で、ツールバーの緑矢印アイコンから実行 > helloWorldhelloWorld.py を選択します。 ![]() Mayaを起動した時のあの白いウィンドと同じ表示になっているということは、スタンドアローンでMayaツールが動いたということになります |
Mayaと接続して MayaPythonスクリプト の動作確認 さて、いよいよ本題です。 Maya用のPythonスクリプトを書いた後、Mayaと接続 をすると、スクリプトが連携して動作する、ということを確認します。 今回は、「選択した階層以下の全てのJointのローカル回転軸を表示する」というツールを作成します。 ・Eclipseを起動します。 ・新しいプロジェクトを作成します。 ファイル > 新規 > Pydev プロジェクト ・プロジェクトの設定をします。 ・プロジェクトの名:ri_display_joint_localAxis ・プロジェクト・コンテンツ:[レ]デフォルトを使用([C:\pleades\workspace\ri_display_joint_localAxis]) ・プロジェクトのタイプ:◎ Python ・文法バージョン:2.7 ・インタープリター:Default > 2015_mayapy ◎ Create 'src'folder and add it to the PYTHONPATH srcのフォルダーが作成されるように、2個目のタイプを選ぶのが良いでしょう。[完了]ボタンを押します。 ・Pydevパッケージエクスプローラ・ウィンドにあるプロジェクトのノードを1つ展開します。 左側ri_display_joint_localAxis ・srcノードを選択し、右クリック-> New -> Pydev Moduleを選択します。 ・名前を入力します(拡張子無し)。 Nameri_display_joint_localAxis ・ri_display_joint_localAxis.pyの中身を下記のように記入します。
![]() ・20、21行目は注意マークが付いていますので、カーソルと近づけるとインテント用の 4文字分の空白の数が正しくないと解ります。 (ここでは、実際には動くのですが、このように指摘してくれれば、直しますよね) ・さて、いよいよMayaです。 今回ここでは、userSetup.pyにコマンドポートの設定を書いてMaya2015を起動しています。 ・メインメニューのMayaと接続するボタン ![]() ![]() 同時に、EclipseのコンソールのMayaResultsにも--Connected to Maya--と表示されます。 ・Maya2015に Joint の階層構造を作成して、一番上のJointを選択状態にします。 ・エディター内の全ての記述をMayaに送るボタン ![]() ![]() ![]() Nothing is selectedと表示されます。 ![]() ファイル > 保管で保存します。 C:\pleiades\workspace\ri_display_joint_localAxis\srcにri_display_joint_localAxis.pyが保存されます。 これで、デバッグもしつつ Maya と連携しながら Pythonスクリプトを書いていける環境をつくることが出来ました。 |
Maya MEL エディター デバッグまで検証できていないのですが、 EclipseにColorerプラグインをインストールすることでMaya MEL エディター(色分けされている)になるようです。 インストールはちゃんと出来ましたので、ご紹介します。 ![]() ![]() ![]() ![]() ・Eclipseを再起動させます。 ![]() 新規でMelスクリプトを書く場合でも、Colorer エディターを開くエディター として選択します。 ![]() ![]() ![]() ![]() window1というGUIが表示するスクリプトが実行され、任意の数値を入力すると、その結果が下のコンソールに記述されます。 ちなみに、こちらもTABは4個の空白になっていますが、2個とかにしてもインテントという概念がMELには無いので、注意マークは出てきません。 この MELエディターは、MELで動いているスクリプトをPythonと比較したり、 Pythonに書き直したりする場合にも便利ではないでしょうか。 |
という訳で、次回は...What's Next ...
乞う、ご期待!! Stay tuned .. |