MikuMikuDance はカット割りの間カメラは静止している

 MMDでカット割をするのは簡単で、カメラのキーフレームを連続して打てばいいだけです。1フレームで隣接されたカメラは、「カットを割った」とMMD側が認識してくれます。
MikuMikuDance でPさんと呼ばれる本』5-5 カット割をしてみる (p135)

標準の 30fps で AVI 出力をしている場合は問題にならないのですが、それ以上のフレームレートで出力すると MikuMikuDance での 1フレーム(30fps)より余分なフレーム(例えば 120fps で AVI 出力すれば中間に 3フレーム)がカット割の間に存在することになります。そのフレームはどんな状態になるのか。
framemixer.py*1 をカット割対応させる必要が出たので試してみました。結果、

  • カット割前の状態で中間も補完される

つまりカット割直前の状態のカメラで停止します。



framemixer.py は MMD でのフレーム丁度(つまり 120fps で出力した場合は 0, 4, 8, 12…)をキーフレームとしてその前までのフレームを半透明合成するよう辻褄合わせをしているので*2、今の実装のままだとその『カット割直前の状態のカメラで停止』したフレームの画像がまとまって焼き付いた状態でカット割直後のフレームに乗ってしまうことになります。

なので対処法としては、カット割のタイミングのみは前フレームを合成せずキーフレームのみのフレームにすればいい、ことになるかな。

*1:framemixer.py ver.1.1.0 - リファクタリングした。 - つちのこ、のこのこ。(はてな番外地)

*2:普通に 120÷30=4 フレームずつ合成してしまうと MMD でのキーフレームの『直前』をキーフレームにしてしまう