オフセット | 長さ(バイト) | 型 | 内容 |
---|---|---|---|
0 | 30 | char[30] | "Vocaloid Motion Data 0002\0" の文字列 |
30 | 20 | char[20] | "初音ミク\0"などのモデル名の文字列 |
50 | 4 | unsigned long | フレームデータ数 |
オフセット | 長さ(バイト) | 型 | 内容 |
---|---|---|---|
0 | 15 | char[15] | "頭\0"などのボーン名の文字列 |
15 | 4 | unsigned long | フレーム番号 |
19 | 4 | float | ボーンのX軸位置。位置データがない場合は0 |
23 | 4 | float | ボーンのY軸位置。位置データがない場合は0 |
27 | 4 | float | ボーンのZ軸位置。位置データがない場合は0 |
31 | 4 | float | ボーンのクォータニオンのX。データがない場合は0 |
35 | 4 | float | ボーンのクォータニオンのY。データがない場合は0 |
39 | 4 | float | ボーンのクォータニオンのZ。データがない場合は0 |
43 | 4 | float | ボーンのクォータニオンのW。データがない場合は0 |
47 | 64 | char[64] | 補間パラメータ |
補間パラメータはしたらばのMMD板の情報が載っていた。 MMDでは補間パラメータを4点のベジエ曲線(0,0),(ax,ay),(bx,by),(127,127)で表している。
各軸のパラメータを
X軸の補間パラメータ (X_ax,X_ay),(X_bx,X_by)
Y軸の補間パラメータ (Y_ax,Y_ay),(Y_bx,Y_by)
Z軸の補間パラメータ (Z_ax,Z_ay),(Z_bx,Z_by)
回転の補間パラメータ (R_ax,R_ay),(R_bx,R_by)
とした時、補間パラメータは以下の通り。
X_ax,Y_ax,Z_ax,R_ax,X_ay,Y_ay,Z_ay,R_ay,X_bx,Y_bx,Z_bx,R_bx,X_by,Y_by,Z_by,R_by,
Y_ax,Z_ax,R_ax,X_ay,Y_ay,Z_ay,R_ay,X_bx,Y_bx,Z_bx,R_bx,X_by,Y_by,Z_by,R_by,01,
Z_ax,R_ax,X_ay,Y_ay,Z_ay,R_ay,X_bx,Y_bx,Z_bx,R_bx,X_by,Y_by,Z_by,R_by,01,00,
R_ax,X_ay,Y_ay,Z_ay,R_ay,X_bx,Y_bx,Z_bx,R_bx,X_by,Y_by,Z_by,R_by,01,00,00