日本で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漁るかリファレンスを穴があくまで読むかサンプル読み漁るかぐらいかないの辛い!