Mac OS X 環境

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 フォルダを /Applications/Autodesk/maya2017 にコピーします。したがって、フォルダ構造は次のようになります。

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

注:

Mac OS X プラットフォーム用にコンパイルされているすべてのプラグインは MApiVersion 文字列を書き出す必要があります。そうでない場合、リンカー エラーが発生します。MApiVersion 文字列を書き出すには、<maya/MApiVersion.h> をインクルードします。ほとんどのプラグインには既に <maya/MFnPlugin.h> がインクルードされていて、このファイルには <maya/MApiVersion.h> がインクルードされているため、ほとんどの場合、何も行う必要はありません。

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

  • ヘッダー ファイル: ../include/maya
  • ライブラリ: ../Maya.app/Contents/MacOS

コンパイラの要件

Mac OS X 上でプラグインとスタンドアローン アプリケーションをコンパイルするには、Mavericks 10.9.5、Xcode 6.1.1 with SDK 10.9、clang with libc++ をインストールする必要があります。

注:

Maya では、異なるリリースでビルドされたプラグインの間にバイナリ互換性はありません。たとえば、Maya 2015 でビルドしたプラグインを Maya 2016 にロードすることはできません。新しいリリースごとに、ソースを再コンパイルする必要があります。しかし Maya ではソース コード互換性を維持することを目標にしていますので、ほとんどの場合はソースを変更する必要はありません。

Maya プラグイン

Mac OS X 上でプラグインをビルドするには 2 つの方法があります。Developer Kit に用意されている Xcode、または Makefile を使用することができます。

Makefiles を使ってビルドする

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

    export MAYA_LOCATION=/Applications/Autodesk/maya2017/Maya.app/Contents
    

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

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

    setenv MAYA_LOCATION /Applications/Autodesk/maya2017/Maya.app/Contents
    

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

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

    mkdir -p $HOME/devkit/plug-ins
    cd $HOME/devkit/plug-ins
    cp -r /Applications/Autodesk/maya2017/devkit/plug-ins/* .
    
  3. 環境変数 DEVKIT_LOCATION が開発キットのパッケージを展開した場所を指すように設定します。これはつまり、/include および /mkspecs フォルダが存在する場所です。
  4. 以上で、プラグインのビルドの準備が完了しました。
    make clean
    make
    
  5. これで、プラグインをインストールし、ロードすることができます。ローカルのプラグイン ディレクトリで、plug-insscripts、およびiconsの 3 つのフォルダを作成します。
    mkdir plug-ins scripts icons
  6. plug-ins ディレクトリにプラグイン ファイルをコピーし、scripts ディレクトリにスクリプト ファイルをコピーし、icons ディレクトリにアイコン ファイルをコピーします。
    cp */*.bundle 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 プラグインがそれぞれのセクションにリストされます。

Xcode プロジェクト ファイルを使ってビルドする

Xcode を使用してサンプルのプラグインの 1 つをビルドするには、Maya を実行するのと同じバージョンの Mac OS X を使用し、Xcode アプリケーションをインストールしなければなりません。 それから次を実行します。

  1. /Applications/Autodesk/maya2017/devkit/plug-ins に移動します。
  2. ビルドしたいプラグインを含んでいるサブディレクトリのコピーを作成します。たとえば circleNode プラグインをビルドする場合は、/Applications/Autodesk/maya2017/devkit/plug-ins/circleNode のコピーを作成します。
  3. ディレクトリのコピーを参照し、プラグインの Xcode プロジェクト ファイル(たとえばcircleNode.xcodeproj)をダブルクリックします。
  4. Build メニューから Build オプションを選択します。ビルドされたプラグインは、拡張子が .bundle で、ビルドに使用した設定の下の build サブディレクトリに配置されます。 たとえば、circleNode プラグインを $HOME/myCircleNode に配置し、Debug 設定を使用してビルドした場合は、プラグインは $HOME/myCircleNode/build/Debug/circleNode.bundle に配置されます。
注:Xcode 4.0 以上では、コンパイルされたプラグインはプロジェクト ファイルが配置されている /build フォルダではなく、非表示のフォルダにあります。そのため、プラグインを見つけることができず Maya でロードできない場合があります。ビルド場所のユーザ プリファレンスを[Legacy]に変更することで、前述のようにプロジェクト ファイルがある /build ディレクトリの中にプラグインをコンパイルできます。ビルド場所のプリファレンスを変更するには、[Locations Preferences]ペインを開き、[Derived Data]の設定を見つけ[Advanced]を選択し、[Legacy]を選択します。

Maya でプラグインを検索できるようにするには、そのファイルを含むディレクトリを指すいくつかの環境変数を設定しなければなりません。プラグインのインストールおよび Maya.env ファイルの環境変数の設定について詳しくは「Maya プラグインのインストール」を参照してください。たとえばこの例では、Maya から circleNode や whatisCmd Developer Kit プラグインにアクセスするには Maya.env ファイルに次を含める必要があります。

MAYA_PLUG_IN_PATH = $HOME/myCircleNode/build/Debug
MAYA_SCRIPT_PATH = $HOME/myCircleNode
XBMLANGPATH = $HOME/myCircleNode/%B

Maya API アプリケーション

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

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

export MAYA_LOCATION=/Applications/Autodesk/maya2017/Maya.app/Contents
mkdir –p $HOME/devkit/applications    
cd $HOME/devkit/applications
cp –r /Applications/Autodesk/maya2017/devkit/applications/* .
make clean
make

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

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

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

Mac OS X では、DYLD_LIBRARY_PATH 環境変数を設定してから、これらのアプリケーションを実行してください。ランタイム リンカーが Maya の共有ライブラリを検索することができるようになります。

スタンドアローン型アプリケーションのビルドと実行を準備する手順として、以下の環境変数の設定をお勧めします。

export MAYA_LOCATION=/Applications/Autodesk/maya2017/Maya.app/Contents
export DYLD_LIBRARY_PATH=$MAYA_LOCATION/MacOS
export DYLD_FRAMEWORK_PATH=$MAYA_LOCATION/Frameworks