Maya C++の始め方

OpenMaya,Plug-in,Tutorial,C++,Maya

Maya C++の始め方(maya2017 update4) 2017/07/03現在
Visual Stadio Express 2015 for Windows Dwsktopの場合

Maya 2017 update4とVisual Stadio Express 2015 for Windows Dwsktopを使用して、64ビットWindows(Win64)で簡単な「Hello World」プラグインを作成していきます。

手順

  1. Autodesk ExchangeにあるMaya Developer Kitをダウンロードしてきます。
    ※現在はplatform-technologiesにDeckitが存在しています

    Autodesk® Maya 2017 - Developer Kit (aka devkit)
    Maya 2017 Update 3 - Developer Kit (aka devkit)
    ダウンロードしたDeveloper Kitをそれぞれ解凍し

    cmake, devkit, include, mkspecs

    Maya2017_DEVKIT_Windows\devkitBase、
    Maya2017_Update3_DEVKIT_Windows\devkitBaseの順に、上記のそれぞれのフォルダを以下のpathに入れて、上書きしてください

    C:\Program Files\Autodesk\maya2017\
    C:\Program Files\Autodesk\maya2017\devkit
    C:\Program Files\Autodesk\maya2017\include
    C:\Program Files\Autodesk\maya2017\mkspecs
  2. mayaの環境変数を設定していきます。

    ショートカットWindows+xからシステムをクリック

    バージョン情報の関連システムの項目にあるシステム情報をクリックします。

    システムウィンドウのシステム詳細設定をクリックし、システムのプロパティを開き、下のほうにある環境変数をクリックします。

    システム環境変数を新規作成します。

    変数名: MAYA2017_PATH
    変数値: C:\Program Files\Autodesk\Maya2017


    上の環境変数を設定しましたら、これらのウィンドウをすべて閉じます

  3. Visual Stadio Express 2015 for Windows Dwsktopを立ち上げる

    新しい空のプロジェクトを立ち上げます
    今回はMayaTestProjectという名前のプロジェクトを立ち上げました

    プロジェクト設定をx86からx64に切り替えます
    64bitのmayaは32bitでコンパイルされたコードではうまくいきません

    プロジェクトに新しいソースファイルを追加します
    追加しましたらHelloWorld.cppに名前を付けて保存をします 

    ソリューションエクスプローラーにあるソースファイルを右クリックし、
    追加\既存の項目で先ほど作成したHelloWorld.cppを追加します

  4. Visual Stadio Express 2015 for Windows Dwsktopの設定をしていく

    ソリューションエクスプローラーのMayaTestProjectを右クリックプロパティを開きます
    構成をすべての構成に切り替え

    全般
    プロジェクト既定値\構成の種類をダイナミックライブラリ(.dll)
    全般\ターゲット拡張子を.mll

    C/C++\全般
    追加のインクルードディレクトに$(MAYA2017_PATH)\include

    C/C++\プリコンパイル済みヘッダー
    プリコンパイル済みヘッダーをプリコンパイル済みヘッダーを使用しない

※使用する場合こんなエラーがでることも

C/C++\プリプロセッサの定義
WIN32
_WIN64
_WINDOWS
_USRDLL
NT_PLUGIN
REQUIRE_IOSTREAM
を追加する

C/C++\言語
ランタイム型情報を有効にするをはい(/GR)

リンカー\全般
追加のライブラリディレクトに$(MAYA2017_PATH)\lib

リンカー\入力
追加の依存ファイル
Foundation.lib
OpenMaya.lib
OpenMayaUI.lib

を追加する

リンカー\コマンドライン
追加のオプション
/export:initializePlugin /export:uninitializePlugin

を追加する
これで基本構成の設定ができました

  1. cppにコードを書く
#include 
#include 
DeclareSimpleCommand(HelloWorld, "Autodesk", "2017 update4");

MStatus HelloWorld::doIt(const MArgList& args)
{
    MStatus stat = MS::kSuccess;
    char Hello[] = "\nHello World\nMaya C++\n";
    cout << Hello << endl;
    MGlobal::displayInfo(Hello);
    return stat;
}

helloworld.cppに上記のコードを記述します
DeclareSimpleCommand マクロには、
コマンドの実装に使用するクラスの名前、コマンドのベンダーの名前、コマンドのバージョン番号
という、3 つのパラメータを記述してください
そしてCtrl+Alt+F7でリビルドするとMayaTestProject.mllというものができるので
.mllファイルをmayaのプラグインフォルダに入れる
プラグインフォルダに入れた後、mayaを実行し
windows -> Settings/Preferences -> Plugin Manager
でMayaTestProject.mllにチェックを入れます

HelloWorld;

scriptEditorのmelタブに上のコードを記述して実行します

実行するとコマンドラインとOutputWindowに

Hello World
Maya C++

と表示されます


参考サイト
davidgould.com
Creating Your First Maya Plug-in in Visual Studio