複数人で踊らせるときの立ち位置合わせと、音ズレの直し方|VMDを全ての親で動かす

立ち位置は「全ての親」1本で動かし、音ズレは全部のキーを同じだけずらす。どちらも原理は単純ですが、動かすボーンを間違えると脚が伸び、前へずらすと先頭の姿勢が崩れます。

最終更新: 2026-10-02 · kphp同梱の実PMX 4体のボーン構造と、実VMD 29本のトラックを数えて確認

手元のVMDの立ち位置・向き・タイミングを変えるなら、VMDの立ち位置・向き・タイミングを変えるへ入れてください。 移動量・向き・ずらすフレーム数を入れると、動かした結果のVMDをダウンロードできます。

立ち位置は「全ての親」で動かす

2人目を横へずらしたいとき、全部のボーンの位置を書き換える必要はありません。モデルの一番根元にある「全ての親」を動かせば、体ごと動きます。 大事なのは足IKで、足IKは脚の子ではなく「全ての親」の下にぶら下がっています。実物のPMXで確かめると、アリシアは足IKの親が「全ての親」そのもの、もう1体のモデルは「足IK親」(その親が全ての親)でした。どちらも「全ての親」を動かせば足IKも一緒に動きます。

「センター」で動かすと、足IKが置いていかれます。 センターは足IKの親ではないので、体だけが動いて、足は元の場所に接地したまま脚が伸びます。少し動かすだけなら目立ちませんが、人ひとり分ずらすと破綻します。古いモデルで「全ての親」が無いときだけ、センターで動かしてください。

  • 実物のVMD 29本のうち、「全ての親」にキーを持つものは17本、「センター」は21本でした
  • モーションが「全ての親」を動かしていれば、各キーに同じ移動を足します
  • 動かしていなければ、0フレーム目に「全ての親」のキーを1つ置くだけで足ります(VMDではキーが1つあれば最後まで効きます)
  • 移動量の単位は1ユニット ≒ 8cm です(MMDのスケールと単位)

向きを変えるときは、位置も一緒に回す

モーションが「全ての親」を動かして前へ歩いている場合、向きだけを90度回すと、体は横を向いたまま元の方向へ進みます。各キーの位置も、向きと同じ回転で回してから移動を足す必要があります。回転は四元数を前から掛け、位置は同じ四元数で回します。同じ四元数を使えば、座標系の左右を取り違える余地がありません。

音ズレは、全部のキーを同じだけずらす

MMDは30フレームで1秒です。音楽より0.5秒早く動いてしまうなら、全部のキーフレームを15フレーム後ろへずらします。 ずらすのはボーンだけでなく、表情・カメラ・照明・セルフ影・IKのオンオフも同じです。どれかを残すと、それだけが音楽と合ったまま、ほかとずれます。カメラや照明を別のVMDで持っているなら、そちらも同じフレーム数だけずらしてください。

前へずらす(早める)ときは、先頭の姿勢に注意が要ります。 0フレームより前に出たキーは捨てるしかありませんが、単に捨てると、そのキーで決まっていた姿勢が消えて初期姿勢から始まります。新しい0フレーム目には、元のそのフレームの姿勢を補間で求めて置く必要があります。直前のキーの値をそのまま置くと、実物のVMDで先頭の位置が最大5.98ユニット(約48cm)ずれました。

どのくらいずれているかを測るには、ローカル再生でモデル・VMD・音楽を一緒に読み込み、音の頭と動きの頭を見比べるのが早いです。秒で分かったら30倍してフレーム数にします。2人目以降も同じ画面の「モデルを追加」で並べられるので、立ち位置を直したVMDをそのまま並べて確かめられます。