takeda_san’s blog

KotlinとVRを頑張っていく方向。

Blenderでクロマキー合成したい

やりたいこと

マッチムーブという映像合成の方法で動画を作りたい。
実写の動画のカメラの動きと3Dモデルとか2Dの画像を同期して動かす、テレビとか映画とかでよく見るアレです。
Blenderで簡単にできるらしいのでやってみたのがこれ。


マッチムーブおじさんとバス停

今回書くこと

今回は2Dのグリーンバック動画をクロマキー合成で、背景の動画と合成したのだけれども結構つまづいたので手順メモ。

これと
f:id:takeda_san:20180916233847p:plain

これを
f:id:takeda_san:20180916234447p:plain

合成してドン。
の手順。
f:id:takeda_san:20180916234503p:plain

ちなみに動画の合成~出力まですべてBlender上で完結します。
素晴らしい。

手順

Blender バージョン2.79
日本語化してあります。

背景動画の読み込み

背景として使う動画を読み込みます。
左下のあたりからエディタータイプを動画クリップエディターに変更。
f:id:takeda_san:20180916235005p:plain

動画をBlenderに放り込みます。
私の場合iPhoneで撮影した動画が、Blender上に読み込むと天地逆になって困ったのですが、
いったん別の動画編集ソフトで読み込んで別ファイルに書き出したら直りました。
(脳みそ筋肉だ…)

動画の全編を使いたいので、レンダリングの最終フレームを動画の最終フレームと合わせておきます。
脳みそ筋肉的設定方法としては、動画の最後までシークして右側の赤枠のカレントを左のレンダリングの最終フレーム欄に入力。
f:id:takeda_san:20180916235757p:plain

マッチムーブの諸々の設定をこの後やるのですが、今回はクロマキー合成のことだけ書くので省略。
この辺が大変参考になりました。

Blenderでマッチムーブをする方法 - ニコニコ動画

Blenderでマッチムーブをする方法(三脚PAN編) - ニコニコ動画

これで背景動画の読み込みは完了。

グリーンバック動画の読み込み

3Dビューに戻りましょう。
cubeをサクッと削除して、Cameraを選択。カメラソルバーを追加。

f:id:takeda_san:20180917000724p:plain

この時にカメラの位置を中心にしておくと、後々の作業の時に楽でした。
動画読み込み用の平面を新規作成してカメラの前に適当に置きます。

f:id:takeda_san:20180917001318p:plain

平面を編集モードにして、マテリアルから新規追加を押します。
ディフューズの欄から適当な色を付けて、シェーディングの欄の陰影なしにチェックを入れます。
色はほかのオブジェクトと区別がつくようになので、出力される動画には関係ないです。

テクスチャの設定

このテクスチャに動画を読み込ませます。
テクスチャから新規ボタンを押して、画像の欄から合成用の動画を読み込みます。

f:id:takeda_san:20180917002138p:plain

読み込んだら画像の欄の動画と長さをマッチボタンを押して、使用するフレーム数を設定します。

f:id:takeda_san:20180917002234p:plain

合成用の動画ですが、先に読み込んだ背景動画と同じfpsにしておかないとフレーム単位で合成するので動きがずれます。
なんか合成用の動画がやたらとスローモーションだなぁと思って悩んでたんですが、背景用:30fps、合成用:60fpsになっててフレーム数が倍になっていただけでした。

UV展開

UV展開して平面に動画を貼り付けます。
平面を編集モードで選択して、Uキー->展開を押します。
左下のあたりからUV/画像エディターを選択します。

f:id:takeda_san:20180917002821p:plain

下の中央あたりから読み込んだ動画を選択します。

f:id:takeda_san:20180917003032p:plain

うまいこと枠の中に合成したい部分が入るように調整します。
この辺りはUV展開の話なので、詳しい話は省略。

f:id:takeda_san:20180917003239p:plain

ノードエディタで合成

左下のあたりからノードエディタを選択します。

f:id:takeda_san:20180917003838p:plain

下の真ん中あたりのノードを使用自動レンダリングをチェック。
背景は文字通りレンダリング結果が背景に出ます。
お好みでどうぞ。

f:id:takeda_san:20180917004453p:plain

  • 入力タブから動画クリップ
  • カラータブからアルファオーバー
  • マットからキーイング(キーカラーにグリーンバックなら緑色を指定)

これを図の通りに繋げます。
ビューワーは背景に表示したい場合に設定してください。

f:id:takeda_san:20180917004513p:plain

F12レンダリングして、ちゃんと合成できているか確認。

f:id:takeda_san:20180917004623p:plain

ダイジョブそうですね。
ちなみに下のカレントフレームを変えると動画のその時点でレンダリングしてくれます。

私の場合、キャラクター以外の部分が黒く表示されて悩んだのですが、透過の設定をちゃんとしてなかったのが原因みたいでした。
レンダーからシェーディングの欄のアルファ透過に変更。

f:id:takeda_san:20180917004956p:plain

平面の後ろに大きめの緑色の平面を追加。

f:id:takeda_san:20180917005218p:plain

で、ちゃんと出力されるようになりました。

動画出力

レンダーからお好みの出力形式を選択して、アニメーションボタンから出力します。

f:id:takeda_san:20180917005355p:plain

以上で動画完成!

追記:Blender2.8で再挑戦している記事もあります。みてね。
takeda-san.hatenablog.com