通りすがりの記憶

ただのメモかも知れない

MMDのモデルデータ(PMD)形式 めも10 (ボーン枠用表示リスト)

2009-06-07 02:02:22 | MMD
PMD形式めも
・ボーン枠用表示リスト
DWORD bone_disp_count; // ボーン枠に表示するボーン数 (枠0(センター)を除く、すべてのボーン枠の合計)
t_bone_disp bone_disp[bone_disp_count]; // 枠用ボーンデータ (3Bytes/bone)

・t_bone_disp
WORD bone_index; // 枠用ボーン番号
BYTE bone_disp_frame_index; // 表示枠番号 // センター:00 他の表示枠:01~ // センター枠にセンター(index 0)以外のボーンを指定しても表示されません。


※bone_disp_countの部分は、
BYTE bone_disp_count + 0x0000(ボーン0) + 0x00(枠0)
のように見えますが、DWORDです。
・BYTEにすると総数が合わない(0x000000をデータとしてカウントすると1足りない)
・ボーン番号がWORDなので、WORD以上のサイズが必要
・データの区切りの位置から判断すると、WORDにはならない

補足:
1つのボーン枠に表示できるボーン数は254個です。
1つのボーン枠に登録したボーン数と表示される内容は、こんな感じ。
254:254本表示される
255、256:枠内の表示が消える
257:枠内の最初のボーン1本だけ表示
258~:256を引いた数ずつ表示される


実験結果:
(MMD 8.03(64bit)で実験)
枠用ボーンデータに、
01 00 00 (ボーン1をセンター枠に表示)
→センター枠にボーン1は表示されません。

枠用ボーンデータに、
00 00 01 (ボーン0(=センター)を枠1に表示)
→枠1にセンターボーンが表示されます。


最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。