Metasequoia BBS

ページ 1 2 3     
/ 8
| 新規投稿 | 通常表示 | ツリー表示 |
状態
タグ
キーワード
[9646] SDKの定期的に呼ばれる処理について。 / たあし
対応済み [質問,SDK] 返信
いつも使わせて頂いております。
SDKを使ってアニメーション関係のプラグインを作りたいと考えています。現在コマンドプラグインのサンプルを参考にしています。

それで質問なのですが、アニメーションの再生のような、操作していない間も定期的に呼ばれる関数はありますか?標準のボーンプラグインがポーズの再生をしているので、何か方法があると思っていますがわかりません。
MQCommandPluginクラスのOnDraw関数は、視点が移動した時や何か操作した時など、画面を再描画する時のみ呼ばれるようですね。OnDrawの終端でRedrawAllSceneを呼んでも、必ず再描画されるわけではないのでしょうか?

プラグインSDKの仕組みについてよくわかっていなければ、それも教えていただけると嬉しいです。
2023-01-03 14:53

途中の1件のメッセージを表示

[9648] Re: SDKの定期的に呼ばれる処理について。 / たあし
>定期的なイベントを発生させるためにAddTimerEventが用意されています。
>指定した時間後にイベントが一度発生しますが、イベント関数内でさらにAddTimerEventを呼び出すことで定期的にイベントを発生させることができます。

ありがとうございます!
なるほど、ウィジェットはメニューやダイアログのためにあると思っていましたが、処理もウィジェット本体に持たせることができるのですね。勉強になりました。
2023-01-05 19:02
[9375] SDKでの、MQBoneManagerクラスについて質問何点か / まじかる☆しげぽん
対応済み [質問,sdk480] 返信
メタセコイアのウェイト入れを補助するプラグインを作成しているのですが以下の質問があります。

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

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

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

現状、上記の部分が分からず悩んでおります。
既に実装されているクラス等で可能の場合、お教えいただけると幸いです。
宜しくお願い致します。
2022-04-18 13:01

途中の8件のメッセージを表示

[9425] Re: SDKでの、MQBoneManagerクラスについて質問何点か / まじかる☆しげぽん
対応いただきありがとうございます。
後ほど、テストしてみて確認してみたいと思います!
2022-05-27 14:49
[9396] MQWidget関連のクラスで2点ほどご確認いただきたい所があります / まじかる☆しげぽん
[不具合報告,SDK v4.8.0] 返信
以下の、ウィジェットクラスで親クラスのMQWidgetBaseのAddLeftDownEventイベントなどが動作しない。
(他のイベントを全て確認しているわけではないですが同様のイベントが正常に動作するかご確認お願いしたいです)

MQSpinBoxクラス
MQDoubleSpinBoxクラス

MQLabel、MQEdit、MQListBox、などではAddLeftDownEventで左クリックのイベントが検出できますがRev4.00で追加された上記のウィジエットではイベントが発生しないため左クリックによるイベントが実行されないようでした。

MQDoubleSpinBoxのAddChangedEventで以下の説明がある状態でイベントが発生しない。

>Enterキーが押されたりTabキーやマウス操作によって他のウィジェットへフォーカスが移動したときにAddChangedEvent()が発生します。

MQDoubleSpinBoxを複数作成してAddChangedEventを設定して、スピンボックス内の数値が変更された際はイベントが発生されますが、上記で書かれているようなマウスで別のSpinBox項目にフォーカスが移動した際はイベントが発生しません。

具体的には、別の項目にフォーカスした際にイベントを実行したいのですが現在試したところ上記でイベントが発生しない、その上でクリック処理のイベントもSpinBoxに設定しても発生しないためSpinBoxでは数値の変動でしかイベントが発生しない状況です。

上記2点、ご確認いただければと思います。
2022-04-30 07:42
[9397] Re: MQWidget関連のクラスで2点ほどご確認いただきたい所があります / まじかる☆しげぽん
簡単なコードはこのような感じです。
スピンボックスウィジェットを生成して、AddChangedEventでフォーカス移動を検知してOnChangeFocusを実行させたいという感じです。数値が変更されたらイベントが発生しますが、上記説明条件ではイベントが発生しません。
認識、記述が間違っていましたらご指摘いただければと思います。

//ヘッダー
BOOL OnChangeFocus(MQWidgetBase* sender, MQDocument doc);

//ソース
//スピンボックスウィジット生成
MQDoubleSpinBox* test_A = CreateDoubleSpinBox(this);
test_A->AddChangedEvent(this, &Dialog::OnChangeFocus);
MQDoubleSpinBox* test_B = CreateDoubleSpinBox(this);
test_B->AddChangedEvent(this, &Dialog::OnChangeFocus);
MQDoubleSpinBox* test_C = CreateDoubleSpinBox(this);
test_C->AddChangedEvent(this, &Dialog::OnChangeFocus);
MQDoubleSpinBox* test_D = CreateDoubleSpinBox(this);
test_D->AddChangedEvent(this, &Dialog::OnChangeFocus);

//実行処理
BOOL Dialog::OnChangeFocus(MQWidgetBase* sender, MQDocument doc)
{
    DebugLogEdit->SetText(L"フォーカス変更");
    return FALSE;
}
2022-04-30 08:12
[8831] FBX SDKとBlenderについて / t00west
対応済み [質問,FBX SDK] 返信
自作ソフトウェアで恐縮ですが、FBX SDKから書き出したfbxファイルで問題が発生しました。
Unityでは正常に読み込めるのに、Blender2.9ではエラーが出て読み込めません。
Metasequoiaから書き出したfbxファイルはBlender2.9で正常に読み込めます。
FBX SDKでどのように工夫されたのでしょうか?
2020-10-15 00:20

途中の1件のメッセージを表示

[8833] Re: FBX SDKとBlenderについて / t00west
>他社製品のことを弊社に質問いただいても回答に困りますが。。。

無理言ってすみません。

>工夫など何もせず、FBX SDKに付属のサンプルコードを参考に普通に記述しているだけです。

うーん、そうですか…。

>アスキー形式のFBXで出力して、情報の過不足やおかしなデータがないかなど確認してみてはいかがでしょうか。

わかりました。

ありがとうございます。
2020-10-15 17:30
[8242] MQWidgetのソースの公開 / sss
対応不要 [要望,SDK,MQWidget] 返信
スレッドを分けろとのことなので分けました。

>どの関数がわかりづらいかがわからないと、やみくもに細かく説明しないといけなくきりがなく、工数上の問題もありますので、説明は必要最小限にしています。
>分からない点があれば積極的に質問してください。そのほうが早く解決できます。
MQWidgetはドキュメントも分かりづらく、サンプルも少なく、またいちいち質問していたのでは面倒です。またレスポンスも早いとは言えないですし。
なのでMQWidgetの部分だけでもソース公開をお願いします。
そっちのほうが早いと思います。お互いの手間も省けると思います。

文字化けですが、一部ソースをSDK4.7beta1のものをincludeしていたのが原因でした。なので解決しました。
2019-05-09 23:31
[8243] Re: MQWidgetのソースの公開 / 管理者
今のところオープンソース化の方針にはないので、ソースの提供はできかねますし、また例えソースを見たところで解読が大変なので、それなら質問するほうがよほど面倒がないと思います。返答も調査が必要なものでなければたいてい一営業日内にはしていますので、遅いということもありません。
わからない点は質問して解決してください。同じ問い合わせが重なるなどすればその箇所についてのドキュメント等も充実させていきます。
2019-05-10 09:36
[7983] SDK に関する質問数点 / i-saint
[要望,SDK,MQWidget] 返信
モーフターゲットの取得/設定を行う API はありますでしょうか。
それと、親オブジェクトの設定を行う API はありますでしょうか。(MQDoc_GetParentObject の対)
もしないのであれば、今後のバージョンで追加していただけるとありがたいです。
よろしくお願いいたします。
2019-01-09 23:13

途中の6件のメッセージを表示

[8239] Re: SDK に関する質問数点 / 管理者
>便乗ですいませんが、
元メッセージと直接関係ない別の内容の場合は新規投稿でお願いできますか。書く側はその時限りかもしれませんが、こちらとしては後で対応済みかそうでないかがわかりづらくなって管理が困難になってしまいますので。

>MQWidgetはドキュメントやサンプル(WidgetTest)だけでは動作がよく分かりません。
どの関数がわかりづらいかがわからないと、やみくもに細かく説明しないといけなくきりがなく、工数上の問題もありますので、説明は必要最小限にしています。
分からない点があれば積極的に質問してください。そのほうが早く解決できます。

>あとSDK4.7からEnumStringの戻り値がconst char *からconst wchar_t *になっています。ためしにwchar_tで返すと文字化けします。SDK4.7bataまではconst char *なのでSDK4.7が間違っているのはなでしょうか?
国際化対応の強化の一環としてBeta4の後で正式版では仕様を変更し、wchar_t型を扱うMQEnumStringW()の定義が追加され、MQEnumStringW()があればこちらを優先し、なければ互換性のために従来通りのMQEnumString()が使用されます。
また、これに合わせてMQBasePluginベースのクラスではEnumString()の戻り値はconst wchar_t*型に変更されました。overrideキーワードを付けていればコンパイラレベルでエラーや警告が表示されると思いますが、いずれにせよ既存のコードは戻り値の型を変更する必要があり、当然ながら返す文字列も「L"文字列"」のように記述されたワイド文字列でないといけません。
サンプルプラグインのコードもすべて変更済みなので、試しにサンプルが返している文字列を日本語に変えてみるなどして試してみてください。
2019-05-09 16:21
[8175] MQWidgetBaseの位置、MQTreeListBoxなどのスクロール位置について / sss
[要望,SDK,widget] 返信
MQWidgetBaseの位置の獲得方法について教えてください。
MQWindowBaseにはGetPosX/GetPosYなどがあるようですが、MQWidgetBaseには見当たりません。
MQTreeListBox/MQListBox/MQScrollBoxなどスクロールするものでスクロール位置を獲得する方法を教えてください。
またスクロールしたことを検出することは可能でしょうか?
2019-04-08 22:34

途中の6件のメッセージを表示

[8185] Re: MQWidgetBaseの位置、MQTreeListBoxなどのスクロール位置について / sss
それだと現状のスクロール位置と開閉状態を監視しているのと大差ないかと…
それにDrawItemやPaintの動作が変わった場合、動作しなくなってしまいます。

他のGUIライブラリなどではリストの内のスクロール検出イベントなどがあるのは普通ですが…
まぁ現状動作していますし、実装が面倒臭いというならば、このままで結構です。
2019-04-11 18:54
[8163] 独自ウィジェットを作った場合のイベントの発行の仕方 / sss
対応済み [質問,SDK,widget] 返信
MQWidgetBaseを継承して独自のウィジェットを作った場合に、
左クリック(LeftDownEvent)を押されたときに何かしらの処理をして
チェンジイベント(ChangedEvent)を発行したいとします。
この時独自ウィジェットにAddChangedEventを追加しするとして(中身はMQWidget.hからコピペ)
イベントを発行するには、m_Eventsに登録されたリスナーにinvokeしてやらないと
いけないと思うのですが、イベント発行の仕方が良くわかりません。
m_Eventsはprivateなのでアクセスできませんし…
というわけで独自ウィジェットを作った場合のイベントの発行の仕方を教えてください。
2019-04-01 16:03

途中の1件のメッセージを表示

[8165] Re: 独自ウィジェットを作った場合のイベントの発行の仕方 / sss
わかりました。
既存のシステムがあるのなら踏襲したほうが良いと思ったのですが、
独自実装が推奨されるなら、そうしたいと思います。
SDK書き換えは後々面倒なので、こちらは避けたいと思います。
2019-04-01 19:50
[7515] Mac 用プラグイン SDK / i-saint
[質問,プラグイン,SDK,Mac] 返信
Mac 用のプラグイン SDK が欲しいのですが、入手にあたって必要な手続き等ありますでしょうか。
また、可能であればできるだけ早く Windows 版 SDK と同様に一般公開していただけるとうれしいです。

(「Mac版用のSDKが必要な方はサポートへお問い合わせください」と記載がありますが、先月サポートへ問い合わせて返答が得られないままのため、こちらにお問い合わせさせていただきました)
2018-02-12 07:52

途中の1件のメッセージを表示

[7521] Re: Mac 用プラグイン SDK / i-saint
返答ありがとうございます。
XCode 用のファイルが既に含まれているのは見落としておりました。そして XCode 9 でも問題なくビルドできるのを確認できました。これなら目的は果たせそうです。

(改めて確認してみましたが、メールの返答は見つけられませんでした。私からの問い合わせメールは 1 通だけのはずです)
2018-02-13 11:35
[4834] ボーンAPI / sio29
[質問,sdk] 返信
プラグインSDKのボーンAPIは非公開でしょうか?
2014-10-01 16:57
[4844] Re: ボーンAPI / 管理者
>プラグインSDKのボーンAPIは非公開でしょうか?

ボーン自体がプラグインとして実装しているのでプラグイン間でのメッセージ交換が必要で、ファイル出力時のボーン情報の取得などはそれで行っていますが、
まだ外部公開できるほどには仕様も固まっていないというところです。
(実際双方の更新が必要なベタなハードコーディングだったりします)
今後仕様の公開予定がないわけではないですが、現時点で対応時期など明確な答えは難しいのでご了承ください。
2014-10-01 18:52
最新 前のページ 次のページ