12
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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

#参考サイト
https://unpyside.wixsite.com/unpyside/single-post/2017/07/03/%E3%80%90Maya-C%E3%80%91Maya-C%E3%81%AE%E5%A7%8B%E3%82%81%E6%96%B9maya2017-update4

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?