前提
想定環境「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
リンカー入力
追加依存ファイルに書きを追記。末尾に[;]をつけ忘れないようにする
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に作成したプラグインを認識させる
プラグイン実行
プラグインフォルダに入れた後mayaを実行し
windows -> Settings/Preferences -> Plugin Manager
で
MayaTestProject.mllにチェックを入れ
scriptEditor
のmelタブに
HelloWorld
を入れ実行する
参考サイト