Linux 環境

 
 
 

Maya プラグイン

Maya Development Kit には多数のサンプル プラグインが収録されており、/usr/autodesk/maya2013-x64/devkit/plug-ins に保存されています。 これらのプラグインは、使用する前にビルドする必要があります。最初の手順は MAYA_LOCATION を定義することです。 Maya がインストールされたディレクトリを指定する環境変数。 コマンドライン シェルが shbash、または ksh の場合、コマンドは次のようになります。

MAYA_LOCATION=/usr/autodesk/maya2013-x64
export MAYA_LOCATION

ログインするたびに MAYA_LOCATION をリセットしたくない場合は、これらのコマンドを $HOME/.profile にも追加します。

コマンドライン シェルが csh、または tcsh の場合、コマンドは次のようになります。

setenv MAYA_LOCATION /usr/autodesk/maya

同様にこのコマンドを $HOME/.cshrc に追加することで、ログインするたびにリセットする必要がなくなります。

通常は、Maya の devkit のインストール ディレクトリへの書き込み権限がないため、ローカルの作業ディレクトリを作成し、プラグインのソースをコピーしてください。

mkdir -p $HOME/devkit/plug-ins
cd $HOME/devkit/plug-ins
cp -r /usr/autodesk/maya2013-x64/devkit/plug-ins/* .

以上で、プラグインのビルドの準備が完了しました。

make Clean
make

Maya では、プラグインとその関連ファイルを検索するためのいくつかの環境変数が必要です。 その変数は以下のとおりです。

これらの変数は、Maya.env というファイルで定義できます。Maya.env を使用すると、単にファイルをコピーするだけで別のシステムに同じランタイム環境をセットアップすることができます。 コマンド ラインからこれらの変数の明示的な値を設定し、Maya.env で与えられた値の先頭に付加することもできます。

C++ のプラグインはそれぞれ $HOME/devkit/plug-ins の専用のサブディレクトリに常駐していますが、Python のプラグインはすべて scripted という名前の共通ディレクトリに常駐しています。 前述の環境変数に Maya からアクセスしたいすべてのプラグインのディレクトリを追加しなければなりません。 たとえば、Maya から circleNode および whatisCmd C++ のプラグインにアクセスするには、Maya.env ファイルに以下を含める必要があります。

MAYA_PLUG_IN_PATH = $HOME/devkit/plug-ins/circleNode:$HOME/devkit/plug-ins/whatisCmd
MAYA_SCRIPT_PATH = $HOME/devkit/plug-ins/circleNode:$HOME/devkit/plug-ins/whatisCmd
XBMLANGPATH = $HOME/devkit/plug-ins/circleNode/%B:$HOME/devkit/plug-ins/whatisCmd/%B

ここで Maya を起動し、プラグイン マネージャ(Plug-in Manager)ウィンドウを開くと、circleNode および whatisCmd プラグインがそれぞれのセクションにリストされます。 この方法は、使用するプラグインの数が多い場合には効率的ではありません。そこで、共通のディレクトリを作成してそこに各種のファイルをコピーします。 たとえば、Maya からすべての devkit プラグインにアクセスするには、次のように実行します。

mkdir plug-ins scripts icons
cp */*.so plug-ins
cp */*.mel */*.py scripts
cp */*.png */*.xpm */*.cur */*.rgb icons

次に、これらの共通ディレクトリを使用するように Maya.env ファイルを設定します。

MAYA_PLUG_IN_PATH = $HOME/devkit/plug-ins/plug-ins
MAYA_SCRIPT_PATH = $HOME/devkit/plug-ins/scripts
XBMLANGPATH = $HOME/devkit/plug-ins/icons/%B

これで、Maya を起動してプラグイン マネージャを選択すると、すべての devkit プラグインが共通セクションに表示されます。

環境変数 MAYA_APP_DIR を使用すると、Maya.env ファイルを検索できるようになります。この変数を設定しないと、Maya は $HOME/maya ディレクトリを検索します。複数のバージョンの Maya をシステムにインストールしている場合は、MAYA_APP_DIR 環境変数が指すディレクトリのバージョン管理されたサブディレクトリか $HOME/maya のバージョン管理されたサブディレクトリに Maya.env ファイルを配置できます。 たとえば MAYA_APP_DIR/usr/mydir に設定した場合は、Maya.env ファイルを /usr/mydir/2013 ディレクトリに作成することができ、Maya の 2013 バージョンを実行するときにこのファイルが使用されます。 MAYA_APP_DIR を設定しない場合は、2013 バージョンの Maya.env ファイルを $HOME/maya/2013 に置くことができます。

Maya API アプリケーション

提供されているスタンドアローン型アプリケーション サンプルをビルドするには、以下を実行する必要があります。

mkdir -p $HOME/devkit/applications
cd $HOME/devkit/applications
cp -r /usr/autodesk/maya2013-x64/devkit/applications/* .
make Clean
make

シェル スクリプト mayald は Maya API アプリケーションをリンクするために使用されます。 コマンドを実行する前に MAYA_LOCATION を正しいバージョンの Maya に設定しておかないと、アプリケーションが正常に実行されない場合があります。

自分で用意したプラグインをリンクする場合、mayald コマンドに対して、使用した API クラスを含む OpenMaya ライブラリのリストを提供します。 それぞれのクラスの参照ページは、クラスを含む特定 OpenMaya ライブラリを指定します。

注:一部の Maya モデルを読み込むことができないスタンドアローン型アプリケーションが構築される可能性があります。特に、開発キットの「readAndWrite」アプリケーションを使用して IK を持つファイルを読み込もうとすると、接続エラーが表示され、シーンに IK が表示されません。 これに対応するには、ファイルをロードする前に IK サブシステムを強制的にロードする必要があります。 MLibrary() をコールしたあとで、MFileIO::open() をコールする前に IK サブシステムを使用するコマンドを追加します。次のコマンドが動作します。

MGlobal::executeCommand( "ikSystemInfo -q qsh" );