LoginSignup
12
9

More than 5 years have passed since last update.

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

Posted at

前提

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

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

Mayaの環境変数を設定

WindowsMayaパス定義指定.png

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

基本は「C:\Program Files\Autodesk\Maya2018\」
Windows環境パス.png

Visual Studioを起動

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

Visual Studioの全般設定

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

インクルードパス設定

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

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

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

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

_WIN64
_WINDOWS
_USRDLL
NT_PLUGIN
REQUIRE_IOSTREA

を追加
プリプロセッサの定義.png

ランタイム型情報の設定

ランタイム型情報を有効にする
言語ランタイム型.png

リンカー設定

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

$(MAYA2018_PATH)\lib

Maya環境変数を指定
リンカー全般.png

リンカー入力

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

Foundation.lib
OpenMaya.lib
OpenMayaUI.lib

リンカー入力.png

リンカーコマンドライン

追加のオプション

/export:initializePlugin /export:uninitializePlugin

を追加する

リンカーコマンドライン.png

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

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のプラグインフォルダに入れる
プラグインマネージャー.png

プラグイン実行

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

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

HelloWorld

を入れ実行する

実行結果.png

参考サイト

12
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
9