Metasequoia BBS

| New message | Normal | Tree |
Status
Tag
Keyword
[9375] SDKでの、MQBoneManagerクラスについて質問何点か / まじかる☆しげぽん
Done [Question,sdk480] Response
メタセコイアのウェイト入れを補助するプラグインを作成しているのですが以下の質問があります。

■ボーンリストのカレントボーンの取得について
GetCurrentObjectIndexのようなボーンリスト及び現在選択しているボーンのIDを取得する手段はあるでしょうか?
ボーン数取得、ボーンID列挙があり、そこから先はボーンIDが把握できてる上でボーン名等の取得するメンバ関数しかないようにドキュメントを拝見しました。
もし現状手段がない場合、ボーンリストについて、オブジェクト等と同じようにカレントボーンを取得できるメンバ関数を追加していただければと思います。

■ウェイト設定後の描画更新
プラグイン側側から、ウェイト値を変更した際にボーンタブに移動して戻るなどを行わないと設定したウェイト値の情報がボーンコマンドでウェイトを設定した際のようにオブジェクトのカラー情報が更新されませんが、こちらボーンコマンドには状態の更新を行うような関数が無いように見えました。
こちら、更新手段等あるでしょうか。
また、現状無い場合こちらもボーンコマンド側に更新を伝える関数を用意していただけると幸いです。

■ウェイト反映後の、モデルの変形状態の更新
こちらも、上記と同様にウェイトを設定後ボーンコマンド側でスキニングタブから別の状態に遷移することで変更したウェイト情報が変更されるようですが、更新したウェイト値の状態を形状に反映させるにはどのようにすればいいでしょうか。
こちらも、もし現状なければボーンコマンド側へ更新を伝える手段をSDKに用意していただけると幸いです。

現状、上記の部分が分からず悩んでおります。
既に実装されているクラス等で可能の場合、お教えいただけると幸いです。
宜しくお願い致します。
2022-04-18 13:01
[9377] Re: SDKでの、MQBoneManagerクラスについて質問何点か / まじかる☆しげぽん
こちら、プラグインの種別など書いていませんでした。
Stationプラグインとして作成して、ボーンコマンドと一緒に立ち上げてスキニング時に併用する形となります。
その為、Stationプラグイン側で行った処理をボーンコマンドと同様にリアルタイムで描画に反映したい形です。
2022-04-18 13:49
[9379] Re: SDKでの、MQBoneManagerクラスについて質問何点か / Administrator
MQBoneManagerは入出力用に用意したということもあって、3つとも現状では出来ないように思います。
今後仕様の拡張を検討します。
2022-04-19 11:29
[9380] Re: SDKでの、MQBoneManagerクラスについて質問何点か / まじかる☆しげぽん
ご検討いただきありがとうございます。
宜しくお願い致します。
2022-04-19 11:55
[9381] Re: SDKでの、MQBoneManagerクラスについて質問何点か / まじかる☆しげぽん
Weight設定後の、表示状態の更新ですがMQObjectクラスのロック状態や表示非表示状態のフラグを更新すると設定したウェイト値が反映されるのを確認しました。
ワークアラウンド的ですが、このようなシンプルな関数を使ってウェイト設定時に呼び出すようにしてみたのですが、自分のドキュメントの読み込みが浅かったら申し訳ないのですが、ロック状態などのパラメーターを変更せずにオブジェクトの表示状態を更新する処理というのはありますでしょうか?

DrawUpdate(MQObject obj, MQDocument doc)
{
obj->SetLocking(1);
obj->SetLocking(0);
}
2022-04-20 04:55
[9382] Re: SDKでの、MQBoneManagerクラスについて質問何点か / Administrator
>ワークアラウンド的ですが、このようなシンプルな関数を使ってウェイト設定時に呼び出すようにしてみたのですが、自分のドキュメントの読み込みが浅かったら申し訳ないのですが、ロック状態などのパラメーターを変更せずにオブジェクトの表示状態を更新する処理というのはありますでしょうか?

オブジェクトの表示更新が必要な場合には自動的に行われるため、明示的に更新する方法は用意されていません。

ボーンはプラグインが管理する後付け機能ということもあってその対象外なので、バッドノウハウではあるものの、適当な箇所を変更してすぐ戻す方法がボーンへの変更を反映する現状では唯一の方法かもしれません。
2022-04-20 08:56
[9383] Re: SDKでの、MQBoneManagerクラスについて質問何点か / まじかる☆しげぽん
ご返答ありがとうございます。
成程、通常はそのような形なので無かったのですね。
こういうケースがあると、不要なパラメーターを変更せずに明示的に変更できる関数があると便利だなと思いました。
現在は、上記方法で対応したいと思います。
把握出来て助かりました。
2022-04-20 10:07
[9398] Re: SDKでの、MQBoneManagerクラスについて質問何点か / まじかる☆しげぽん
MQBoneManagerについて補足情報を書いておきます

>MQObjectクラスのロック状態や表示非表示状態のフラグ
こちらで試してみているのですが、反映速度に結構なラグがあるようなのでMQBoneManager側に更新を伝える関数があると助かります。

>ボーンリストのカレントボーンの取得
こちら、カレントボーンの取得のみ言及しておりましたが
プラグイン側から、指定したボーンを選択するのにMQObjectクラスのGetSelected、SetSelectedのボーン版があると嬉しいです。

2022-05-01 10:32
[9424] Re: SDKでの、MQBoneManagerクラスについて質問何点か / Administrator
Ver4.8.3b向けにSDKを更新して、一通り対応できるようになったと思います。
ただなにぶん急ごしらえで、動作確認が十分にできているとは言い難い部分もありますので、もし何かお気づきの点あればご連絡いただければ幸いです。
2022-05-27 12:27
[9425] Re: SDKでの、MQBoneManagerクラスについて質問何点か / まじかる☆しげぽん
対応いただきありがとうございます。
後ほど、テストしてみて確認してみたいと思います!
2022-05-27 14:49