Linux 環境

Maya プラグイン

Maya Developer Kit は、オンラインの Autodesk Exchange (https://apps.exchange.autodesk.com/MAYA/ja/Home/Index)で利用可能です。$Home フォルダにアーカイブをコピーして解凍すると、devkitBase という名前のフォルダが作成されます。devkitBase/devkit/plug-ins に多くのサンプル プラグインがあります。Developer Kit には、いくつかの Maya API アプリケーションが含まれ、これらは devkitBase/devkit/applications にあります。/devkit フォルダおよび /mkspecs フォルダを /usr/autodesk/maya2018 にコピーします。

したがって、フォルダ構造は次のようになります。

  • /usr/autodesk/maya2018/devkit
  • /usr/autodesk/maya2018/include
  • /usr/autodesk/maya2018/mkspecs
  • /usr/autodesk/maya2018/bin
注:

カスタム プラグインをコンパイルする場合、必要な C++ API ヘッダー ファイルおよびライブラリは、Maya インストールの次のフォルダにあります。

  • ヘッダー ファイル: ../include/maya
  • ライブラリ: ../lib

これらのプラグインは、使用する前にビルドする必要があります。

  1. MAYA_LOCATION を定義します。 Maya がインストールされたディレクトリを指定する環境変数。 コマンドライン シェルが shbash、または ksh の場合、コマンドは次のようになります。

    export MAYA_LOCATION=/usr/autodesk/maya2018
    

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

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

    setenv MAYA_LOCATION /usr/autodesk/maya2018
    

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

  2. ローカルのプラグイン フォルダ($HOME/devkit/plug-ins)を作成し、Developer Kit のリソースをローカル フォルダにコピーします。この手順が必要なのは、Maya の Developer Kit がインストールされているフォルダに対する書き込み権限がない可能性が高いからです。

    mkdir -p $HOME/devkit/plug-ins
    cd $HOME/devkit/plug-ins
    cp -r $MAYA_LOCATION/devkit/plug-ins/* .
    
  3. 環境変数 DEVKIT_LOCATION が開発キットのパッケージを展開した場所を指すように設定します。これはつまり、/include および /mkspecs フォルダが存在する場所です。
  4. 以上で、プラグインのビルドの準備が完了しました。
    make clean
    make
    
  5. これで、Developer Kit のプラグインをインストールし、ロードすることができます。ローカルのプラグイン ディレクトリで、plug-insscripts、およびiconsの 3 つのフォルダを作成します。
    mkdir plug-ins scripts icons
  6. plug-ins ディレクトリにプラグイン ファイルをコピーし、scripts ディレクトリにスクリプト ファイルをコピーし、icons ディレクトリにアイコン ファイルをコピーします。
    cp */*.so plug-ins
    cp */*.{mel,py} scripts
    cp */*.{png,xpm,cur,rgb} icons
  7. Maya.env ファイルを作成し、プラグイン、スクリプト、アイコンをどこで探せばよいかを Maya に指定する 3 つの環境変数を設定します。3 つの環境変数は次のとおりです。
    • MAYA_PLUG_IN_PATH - プラグインを検索するディレクトリ
    • MAYA_SCRIPT_PATH - MEL および Python スクリプトを検索するディレクトリ
    • XBMLANGPATH - アイコンを検索するディレクトリ

    Maya.env ファイルが各プラットフォームのどの場所に保存されるかなどの詳細については、「Maya.env を使用して環境変数を設定する」を参照してください。 Maya.env を使用すると、単にファイルをコピーするだけで別のシステムに同じランタイム環境をセットアップすることができます。 コマンド ラインからこれらの変数の明示的な値を設定し、Maya.env で与えられた値の先頭に付加することもできます。

    共通ディレクトリを使用するように 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 を起動し、プラグイン マネージャ(Plug-in Manager)を開くと、すべての Developer Kit プラグインが共通セクションに表示されます。

注:上記の手順は、Maya からすべての Developer Kit プラグインにアクセスする方法について説明しています。1 つの特定のプラグイン、たとえば circleNode や C++ プラグイン whatisCmd のみにアクセスするには、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 API アプリケーション

API アプリケーションのビルド

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

  1. MAYA_LOCATION を定義します。詳細については、上記の手順 1 を参照してください。次の mayald コマンドを実行する前に MAYA_LOCATION を正しいバージョンの Maya に設定しておく必要があります。
  2. ローカルのプラグイン フォルダ($HOME/devkit/plug-ins)を作成し、Developer Kit のリソースをローカル フォルダにコピーします。

    mkdir -p $HOME/devkit/applications
    cd $HOME/devkit/applications
    cp -r $MAYA_LOCATION/devkit/applications/* .
    make clean
    make
    

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

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

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

API アプリケーションを実行する

MAYA_LOCATION が定義されている限り、コンパイルしたアプリケーションを、これらのアプリケーションを生成したフォルダで実行することができます。たとえば、surfaceTwist アプリケーションを実行するには、次の手順に従います。

cd $HOME/devkit/applications
./surfaceTwist