Metasequoia BBS

| 新規投稿 | 通常表示 | ツリー表示 |
状態
タグ
キーワード
[7555] ExportPMDの挙動に関して質問です / ほたる
[質問,ExportPMD,PMD,プラグイン] 返信
mqsdl464  / ExportPMD

ソースファイル:ExportPMD.cpp

簡単なボーンを入れたテストモデルを元に、次のようにしてpmd に書き込まれるボーン情報をボーン名で表示してみました。

1497 行目  printf("%s\n",bone_name);

以下追加
 subname = getMultiBytesSubstring(bone_param[parent_bone_index].name_jp.toAnsiString(), 20);
                memset(parent_bone_name, 0, 20);
                memcpy(parent_bone_name, subname.c_str(), subname.length());

printf("%s\n",parent_bone_name);

これで合っていますか?

ボーンの親ボーン名である、parent_bone_nameは、Metasequoiaの「ボーン」→「ボーンリスト」で表示したものとほぼ合っているのですが、時々明らかに間違ったボーン名が入ります。

また、

続きを表示...
2018-03-16 12:34
[7556] Re: ExportPMDの挙動に関して質問です / 管理者
SDKからアクセスする際のボーン名を確認するには、ボーンリストの表示を「ノード」ではなく「ボーン」モードにするとわかりやすいです。

メタセコイアではノードではなくボーン単位で名前を管理し、1つのボーンには本体部と末梢の2つの名前が保持される形になっています。「ボーン」モードにしたうえで表示設定内の「ボーン名表示」をONにすると本体部の名前のみが表示され、こちらがSDKからアクセスする際のボーンの基本単位と一致します。

ただこの管理形式はFBXやPMDのようにノード単位のものとは互換性がありません。そのため、見た目上で名前が同じになるよう「ノード」モードが用意されており、ノードモードにして表示されるボーン名がそのままFBX/PMDファイルに書き出されるよう出力時に処理されています。
2018-03-16 13:08
[7557] Re: ExportPMDの挙動に関して質問です / ほたる
早速のお答えありがとうございます!
メタセコイア独自のジョイント・ボーンの挙動に付いては把握しておりました。

問題の親として表示されるボーンもいわゆる「繋ぎのボーン」でMMDやMayaには出てこないものです。
ただ、そのボーンがPMDで表示されるはずのbone_nameに出てこないものなので、ボーンの親子関係が途切れてしまうのです。

また、メタセコイア上で「ボーンリスト」を「ボーン」にして見てみても、明らかにそれに表示される親子関連と異なる親ボーンを指しているのです。
2018-03-16 14:02
[7558] Re: ExportPMDの挙動に関して質問です / ほたる
もしよろしければですが、問題のモデルデータをお送りしてもよいので、そちらでご検証いただけるとかは可能でしょうか?
2018-03-16 18:47
[7559] Re: ExportPMDの挙動に関して質問です / 管理者
正直なところ実物を見てみないと何もわかりませんので、データをお送りいただくのが一番早いと思います。
弊社サポートのメールアドレスへご送付ください。よろしくお願いいたします。
2018-03-16 19:38
[7560] Re: ExportPMDの挙動に関して質問です / ほたる
ありがとうございます!早速送らせていただきます。
2018-03-16 21:04