3
1

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.

MayaPlugin C++ MPlug 接続先

Posted at

日本でMayaPluginでC++で開発してる人工100人もいない説を提唱します。

でmellとかPyとかだとノードリストみたいなのとれるけどC++だとどうやるの?

この記事見に来てるということはなんらかの方法でプラグは取得できた前提で話ます。
GetConnectionListみたいな関数はない

plugTest.cpp

MPlug plug = どこかのプラグ
MPlugArray plugArray;

if (plug.connectedTo(plugArray, true, false))
{
 std::string distName = parray[0].name().asChar();
 if (distName.find("skinCluster") != std::string::npos)
 {
     // スキンクラスターつながってる!ということはジョイント接続確認ができる
  }
}

はい。プラグはどこから取ってくるかわ目的によって違うので抽象的にしました。
MSelectionListでもコールバックでもメッシュからでもとれると思います。

要の関数は connectedTo こいつ

connectedTo(取得するプラグ配列、出力側か、入力側か)

というメソッドです。なのでプラグが繋がってる先をみたいのならば第2引数をTrueにすれば繋がってるリストが帰ってきます。
適当に文字列判定しましたがそんなに軽い処理でないのでMFnTypeとかで判定したほうが良いと思います。

世のMayaでプラグインつくってる人はどこで情報を得ているのでしょうか。ガンバリオンさんの自作レンダーをつくろう!的なやつぐらいしかちゃんとしたの無くないですか?

あとはCEDEC漁るかリファレンスを穴があくまで読むかサンプル読み漁るかぐらいかないの辛い!

3
1
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
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?