VMDファイルは、キャラクターの動き、カメラの軌跡、その他のアニメーション情報を記録するために主に使用されます。本記事では、VMDファイルの構造と使用方法について詳しく説明します。

ファイル構造

VMDファイルはバイナリストリームファイルで、複数の部分を含んでいます。

キーフレームレコードの詳細

ボーンキーフレームレコード

struct BoneKeyFrame {
  char BoneName[15];     // ボーン名 (ShiftJISエンコード)
  uint32_t FrameTime;    // キーフレーム時間
  float Translation[3];  // 位置座標 (X, Y, Z)
  float Rotation[4];     // 回転クォータニオン (X, Y, Z, W)
  uint8_t Curve[64];     // X, Y, Z方向の曲線データ (各16バイト)
};

モーフキーフレームレコード

struct MorphKeyFrame {
  char MorphName[15];    // モーフ名 (ShiftJISエンコード)
  uint32_t FrameTime;    // キーフレーム時間
  float Weight;          // 重み値
};

カメラとライトのキーフレームの構造は似ていますが、それぞれ特有のパラメータを含んでいます。

使用と互換性

VMDファイルは通常、MikuMikuDanceソフトウェアと共に使用され、異なるモデル間でアニメーションデータのインポートとエクスポートをサポートします。

異なるモデルは異なるボーン構造を持つ可能性があるため、VMDファイルを使用する際は、モデルとアニメーションデータの互換性を確認する必要があります。不自然なアニメーション効果を避けるためです。

まとめ

VMDファイル形式は、MMDアニメーション制作において欠かせない部分です。アニメーション内のさまざまなパラメータを正確に記録することで、ユーザーは滑らかで表現力豊かなアニメーションを作成することができます。その構造と使用方法を理解することは、高品質なMMDアニメーションを制作する上で非常に重要です。

もっと知る

VMDファイル形式に関する詳細情報はMMD Wikiをご覧ください