【Maya C++】Maya C++の始め方(maya2017 update4)

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

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

  5. cppにコードを書く

    #include <maya/MSimple.h>
    #include <maya/MGlobal.h>
    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