Maya 2016 + Visual Studio 2013 のPython開発環境の構築

MayaでPythonを用いたツール開発を行う場合,Visual StudioやEclipseのようなIDEに染まってしまった開発者にとっては,Mayaのスクリプトエディタだけでは満足なプログラミングができません.本記事では,Visual Studio 2013 ProfessionalをMaya python開発環境として利用する方法をまとめます.

設定の手順は下記の通りです.なお,あらかじめMaya Developer Kitがインストールされているものとします(2015/6/11追記

  1. Python Tools for Visual Studioのインストール
  2. Python Toolsの設定
  3. Pythonプロジェクトの作成
  4. 便利プラグインの導入
参考にしたサイト

1. Python Tools for Visual Studioのインストール

Python開発のためのVisual StudioプラグインであるPython Tools for Visual Studioを,公式サイト https://pytools.codeplex.com/ から入手します.最新のStable版(2015/4/28時点では2.1,ファイル名は PTVS 2.1 VS 2013.msi)をダウンロードし,実行します.なお,その際にはVisual Studioを全て終了させておきます.

インストール画面では[I accept the terms…]をチェックし,[Install]ボタンをクリックします.
MayaPython01
しばらく待つと...
MayaPython02
無事にPython Toolsのインストールが完了しました.[Finish]ボタンを押してインストーラーを終了します.

2. Python Tools for Visual Studioの設定

次に,Python ToolsにMaya向けの環境設定を追加します.まず,Visual Studioを起動し,[ツール]メニューの中に[Python Tools]が現れていることを確認します.続いて,[Python Tools]→[Python Environments]を開きます.
MayaPython03

すると,手元の環境では,”Python Environments”という名前のドッキングウィンドウが開きます.「python環境が何も設定されていない」旨のメッセージが表示されているので,[Open Environment Options and add one]を選択し,環境設定します.
MayaPython04

新しく開いた環境設定ダイアログで,[Add Enviroment]ボタンをクリックします.
MayaPython05

新しい環境名を問われるので,適当に「maya2016」などと入力して[OK]ボタンをクリックします.
MayaPython06

すると,設定の詳細を入力するダイアログが開くので,下記の通り入力します.
MayaPython07

Path:
“Maya2016のインストール先”+”bin\mayapy.exe”を指定します.手元の環境では”C:\Program Files\Autodesk\Maya2016\bin\mayapy.exe”です.
Windows Path:
同上.
Library Path:
Mayaのライブラリパスを指定するようです.手元の環境では”C:\Program Files\Autodesk\Maya2016\lib”です.
Architecture:
Maya2016はx64版しかないので,”x64″を選択します.
Language Version:
Maya2016のpythonはバージョン2.7.6なので,”2.7″を選択します.
Path Environment Variable
pythonの環境変数”PYTHONPATH”を入力します.

最後に[OK]ボタンを押して,設定項目の入力を終了します.

設定ダイアログを閉じると,”Python Environments”ドッキングウィンドウの表示が下図のように変わります.中央当たりに「コード補完機能のためのデータベースを更新する必要がある」旨の白文字のメッセージが表示されていますので,その右の[Refresh DB]ボタンを押してデータベースを再構築します.
MayaPython08
処理が正常終了すると,「データベースは最新版になっている」旨の表示に変わります.
MayaPython09
Python Toolsの設定は,ひとまず以上です.

3. Pythonプロジェクトの作成テスト

Visual Studioでpythonプロジェクトを作成し,maya pythonが利用できることを確認します.Visual Studioの[ファイル]メニューから[新規作成]→[プロジェクト]を選択し,”新しいプロジェクト”ダイアログを開きます.

左のリストから[インストール済み]→[テンプレート]→[Python]を選択した後,中央ウィンドウに表示されるプロジェクトの種類から「Python Application」を選択します.今回のプロジェクト名は適当に「MayaPythonTest」としました.最後に[OK]ボタンを押して,新しいテスト用プロジェクトを作成します.
MayaPython10

プロジェクト作成直後は,”MayaPythonTest.py”ファイルに”print(‘Hello World’)”とだけ書かれた状態になっています.ここで,MayaPythonTest.pyを編集すると,Intellisenseが働く様子が確認できると思います.例えば,sysモジュールをインポートした次の行に「sys.」と記入した時点で,下図のようにモジュールに含まれる定数や関数等の一覧が表示されます.MayaPython11
ただし,この時点ではmaya python独自のモジュールについてはIntellisenseは機能しません.mayaのパッケージやモジュールについても,コード補完等のIntellisenseを適用するためには,pythonプロジェクトの「Search Paths」の設定が必要です.

[ソリューションエクスプローラー]を開き,MayaPythonTestソリューション内,MayaPythonTestプロジェクトの「Search Paths」に下記5つのフォルダを追加します.なお,新しいパスは,「Search Paths」を右クリックして現れたメニューから[Add Folder to Search Path]を選択すれば指定できます.

  • C:\Program Files\Autodesk\Maya2016\Python\Lib\site-packages
  • C:\Program Files\Autodesk\Maya2016\devkit\other\pymel\extras\completion\py\maya
  • C:\Program Files\Autodesk\Maya2016\Python\Lib\site-packages\pymel\core
  • C:\Program Files\Autodesk\Maya2016\lib
  • C:\Program Files\Autodesk\Maya2016\devkit\other\pymel\extras\completion\py

MayaPython12
正常に設定できると,「maya.cmds.」のようなmaya pythonコードに対しても,Intellisenseが機能するようになります.

ただし,私の手元の環境では,Maya Python API 2.0,つまりOpenMayaやOpenMayaAnimに対してうまくIntellisenseが機能しませんでした.その際は,

ではなく,

のように API2.0 のモジュールを直接インポートすれば,とりあえずIntellisenseが機能するようです.もちろん,コーディング終了時には元のモジュールに戻すのがよいでしょう.(2015/6/11追記

4. 便利プラグインの導入

以上の設定だけでも十分効率的なmaya python開発ができますが,いくつかのプラグインを導入することで,さらに快適なコーディングが可能となります.ここでは,Maya Python: Visual Studio 2013 | JosBalcaenに公開されている手順およびプラグインを利用させていただきます.

まず,ToMayaというプラグインを導入し,Visual Studio側からMayaへpythonコードを転送&実行できる環境を整えます.ToMayaのプロジェクトページからプラグインファイル(2015/4/28時点では ToMaya2013.vsix)をダウンロードして実行します.[インストール]ボタンをクリックすると,比較的短い時間で処理が完了します.
MayaPython13

正常にインストールできていればと,Visual Studioの[ツール]メニュー内に,[To Maya]という新しいアイテムが現れるはずです.
MayaPython14

ToMayaを利用する際には,Maya側の準備も必要です.Mayaの起動後に一度だけ,pythonスクリプトエディタで下記のコードを実行します.

実行後のスクリプトエディタの表示内容は下図の通りです.
MayaPython15

最後に,ToMayaをテストします.Visual Studio側で,MayaPythonTestプロジェクトを開き,MayaPythonTest.pyファイルに下記のコードを記述します.ポリゴン球を表示するだけのシンプルなpythonコードですね.

そして,上記のコード全体を選択状態にしたうえで,[ツール]メニュー→[To Maya]を選択します.
MayaPython16

正常に処理されれば,Maya上にポリゴン球が表示されるはずです.
MayaPython17

5. まとめ

Maya 2016におけるPython開発をVisual Studio 2013で行うための環境構築方法をまとめました.参考にしたウェブサイトではMaya2014あたりまでの言及しかありませんでしたが,最新のMaya2016でも動作することが確認できました.なお,大規模なツール開発等,実運用では色々と問題が生じるかもしれません.当研究室でも色々試していく予定ですので,そのあたりは折りをみてまとめたいと思います.

mukai について

4+4年目の教員です。ゲーム会社にも5年間ほどお世話になりました。

コメントを残す

メールアドレスが公開されることはありません。