Maya の Python

 
 
 

Autodesk Maya は、以前 MEL コマンドを使用していた場所ではすべて Python スタイルのスクリプティングをサポートしています。Python スクリプティングを Maya に実装することで、MEL により提供される一般的な Maya コマンドに同じようにアクセスできます。つまり、spherels などすべてのビルトイン Maya コマンドに Python からアクセスできます。

MEL スクリプトとして書かれたコマンド(実際には MEL グローバル プロシージャ)には、MEL にアクセスするコール(maya.mel.eval)を使用してアクセスします。詳細については、MEL と Python の通信を参照してください。

注: MEL ビルトインは、通常 Python に対応するものがありますが、特定のビルトインは Python では使用できません。これには数学関数(abssincos、...)や文字列関数(matchgmatchtokenize...)などがあります(MEL ビルトイン関数のセットは MEL ランタイム ライブラリと見なされます)。

Python は、類似の機能を提供する豊富な標準モジュールを備えています。使用可能な関数とこれらの関数の Python スクリプトでの使用方法の詳細については、Python のマニュアルを参照してください。

Maya 2013 の PyQt を構築する

Autodesk Maya 2013 の PyQt を構築する場合は、Microsoft 2010 Visual Studio のコンパイラを使用する必要があります。これは、Maya 2012 の動作とは異なります。

PyQt モジュールのコピーを構築する方法については、autodesk.com/maya-docs の「PyQt」セクションを参照してください。

Python コマンド リファレンス

MEL コマンド リファレンスに似た Python コマンド リファレンスがあります。すべての Python コマンドの詳細については、Maya ヘルプの『Python コマンド リファレンス』を参照してください。

このヘルプには、ヘルプ > Python コマンド リファレンス(Help > Python Command Reference)を選択するか、Maya ヘルプを開く(ヘルプ > Maya ヘルプ(Help > Maya Help))ことによりアクセスできます。ヘルプが表示されたら、ナビゲーション フレームの最下部にある CommandsPython をクリックします。

バージョン

Maya をインストールすると、同時に Python もインストールされます。Maya ではサポートしているすべてのプラットフォームで Python バージョン 2.6 を採用しています。Maya 用のスタンドアローン型 Python シェルは Windows では mayapy.exe、Linux と Mac OS X では mayapy という名前です。

外部リソース

リファレンス マテリアルとリソースを含む Python 入門の詳細については、以下を参照してください。

Maya 環境を Python で Python 用に初期化する

Maya は起動する度に、userSetup.py ファイルのすべての Python コマンドを実行します。このファイルを使用して、作業環境を設定したり、maya.cmds モジュールの読み込みなどの頻繁に使用する Python コマンドを実行したりすることができます。

userSetup.py スクリプトは Maya の初期化およびセットアップ フェーズ時に実行されるので、このスクリプトでは、作業環境をセットアップし、Maya 機能への依存性を持たないコマンドだけが正常に実行されます。

注:

maya.utils.executeDeferred() を使用すると、Maya シーンが初期化されるまでコード実行を遅延させることができます。詳細については、maya.utils を参照してください。

  1. 次のフォルダに userSetup.py という名前のファイルを作成します。
    • Windows: <ドライブ名>:¥Documents and Settings¥<ユーザ名>¥My Documents¥maya¥<Version>¥scripts
    • Mac OS X: ~/ライブラリ/Preferences/Autodesk/maya/<バージョン>/scripts
    • Linux: ~/maya/<バージョン>/scripts
  2. userSetup.py ファイルに、起動時に Maya に実行させるコマンドを入力します。たとえば、import maya.cmds as mc と入力します。
    注:

    ファイルは必ず正しい拡張子(.py)で保存してください。

Python パスに項目を追加する

Python のパスに項目を追加するには、次のいずれかを行います。

  1. PYTHONPATHMaya.env ファイルまたは作業環境で設定してから Maya を実行します。
  2. Maya が実行を開始したら、userSetup.py またはその他のスクリプトの sys.path にアペンドします。

次に sys.path にアペンドする例を示します。

import sys sys.path.append( '/Users/jdoe/maya/Scripts' )
注:userSetup.py が起動時に自動的に実行されるようにするには、Python の初期パス(sys.path)に配置する必要があります。Python の既定のパスは、環境変数 PYTHONPATH を設定することで追加できます。

MEL と Python の読み込み

パスに MEL スクリプトがある場合は、同じ名前を含む任意の 1 つのグローバル プロシージャにアクセスする前に、このスクリプトをソースにする必要はありません。ただし、Python ではまずスクリプトを明示的に読み込んでから、スクリプトに含まれる任意のクラスや関数にアクセスする必要があります。

# This will access the function "bar" in the file "foo.py"
import foo
foo.bar()