MMDでいい感じに背景透過する方法

要約:普通に出力した動画と、キャラのシルエットさえあればよくね?

メリット

  • いい感じになる
  • 2回出力するうちの片方は(ほぼ)ノーエフェクトでOKなので、爆速出力ができる

デメリット

  • 編集ソフトでaviを3つ読み込むので重い
  • トレースモードの理解がある程度必要になるかもしれない
  • モデルに透過素材が使われている場合は上手くいかないかもしれない
  • 背景だけの出力はしないので、演出に必要な場合は別途出力が必要になる

必要なもの

以下、AviUtlを使用している前提で書きます。

手順

  1. o_postKeyingを読み込む
  2. エフェクト割当の「KeyingMapRT」タブで、切り抜きたいモデルに「White.fx」を、それ以外に「Black.fx」を割り当てる
  3. 出力開始フレームに移動し、物理演算を「トレースモード」にする
    ※人物モデル等の物理演算があるモデルの物理を、違和感ない状態で予めフレーム登録しておくとよい
  4. カメラ操作に移動、o_postKeyingを非表示にして登録する
  5. 一旦保存してMikuMikuDance.exeを閉じる
  6. 先ほど保存したpmmを改めて開き、物理演算が変化するような操作はせずにAVI出力をする
    OKな操作:美影・座標軸等のON/OFF、エフェクトの表示/非表示など
    NGな操作:フレームの移動、物理演算モードの変更、モデルの削除など
  7. 出力完了後、MikuMikuDance.exeを閉じる
  8. pmmを改めて開き、o_postKeyingを表示する
  9. (任意:エフェクト割当のMainタブでo_postKeying以外のエフェクトのチェックを外すと軽くなる)
  10. 物理演算が変化するような操作はせずに、透過に対応したコーデックを選んでAVI出力をする
    コーデックの例:Utvideo RGBA DMO
  11. 編集ソフトで、透過していないaviを2つ、透過したシルエットだけのaviを1つ読み込む
  12. (レイヤーの話)後ろに不透過avi、真ん中に透過avi(シルエット)、直後(一番手前)に不透過aviを置く
    透過aviのアルファチャンネルは読み込んでおく
  13. 一番手前の不透過aviに「上のオブジェクトでクリッピング」を適用する
  14. いい感じになっている

注意点

編集の際は、透過aviと不透過avi(シルエット)の間のレイヤーに何も挟まないでください。

IKを使用した物理演算がモデルに組み込まれている場合、トレースモードでフレーム登録が意味をなさない可能性があります。対処法は知らないのでカメラか編集で誤魔化してください。

質問はWaveboxまでどうぞ。
全体的にわかりにくい文章だと思うので、記事の改善案あればぜひください……。

この方法で制作した動画→
www.youtube.com

トレースモードに関して、以下のツイートを参考にさせていただきました。ありがとうございました。