初心者が始めるMayaプラグイン作成 vol1(2018年Update5Ver)


前提

想定環境「Windows7 64Bit」「Maya 2018-5」環境です。

使用しているのは「Visual Studio Community 2017」です
https://visualstudio.microsoft.com/ja/vs/community/

Mayaの環境変数を設定

Mayaの実行ファイルがあるパスを指定

基本は「C:\Program Files\Autodesk\Maya2018\」

Visual Studioを起動

Visual Studioでプロジェクトを作成し
プロジェクト設定を[x86]から[x64]に変更

Visual Studioの全般設定

コンパイルしたファイルをMayaのプラグイン形式(*.mll)になるように設定

インクルードパス設定

C/C++→全般→「追加のインクルードディレクトリ」にMayaのパスを設定

プリコンパイル済みヘッダーの設定

プリコンパイル済みヘッダーは「使用しない」に変更

プリプロセッサの定義の設定

_WIN64
_WINDOWS
_USRDLL
NT_PLUGIN
REQUIRE_IOSTREA

を追加

ランタイム型情報の設定

ランタイム型情報を有効にする

リンカー設定

追加のライブラリディレクトに

$(MAYA2018_PATH)\lib

Maya環境変数を指定

リンカー入力

追加依存ファイルに書きを追記。末尾に[;]をつけ忘れないようにする

Foundation.lib
OpenMaya.lib
OpenMayaUI.lib

リンカーコマンドライン

追加のオプション

/export:initializePlugin /export:uninitializePlugin

を追加する

プラグインのテストコード

HelloWorld.cpp
#include <maya/MSimple.h>
#include <maya/MGlobal.h>
DeclareSimpleCommand(HelloWorld, "Autodesk", "2018 update5");
/*
DeclareSimpleCommand マクロには、コマンドの実装に使用するクラスの名前
コマンドのベンダ(作者)の名前
コマンドのバージョン番号
という、3 つのパラメータが必要です。
*/
MStatus HelloWorld::doIt(const MArgList& args)
{
    MStatus stat = MS::kSuccess;
    char Hello[] = "\n Hello World\nMaya C++\n";
    cout << Hello << endl;
    MGlobal::displayInfo(Hello);
    return stat;
}

Mayaに作成したプラグインを認識させる

.mllファイルをmayaのプラグインフォルダに入れる

プラグイン実行

プラグインフォルダに入れた後mayaを実行し
windows -> Settings/Preferences -> Plugin Manager

MayaTestProject.mllにチェックを入れ
scriptEditor
のmelタブに

HelloWorld

を入れ実行する

参考サイト