今回はタイトルにある通りBlender2.8でグリーンバックの合成のやり方です。
グリーンバックの合成と書いてありますが、指定する色を変更すればどんな色でも抜くことができます。
では始めます。
0:素材を準備する
なんでも良いのでグリーンバックの動画と合成する動画を準備します。
面倒な場合は今回の記事で使用した素材を以下にまとめていますので、ダウンロードして解凍して使ってください。
1:Compositing画面を開く
Blenderを起動してCompositingタブを選択します。
Compositing画面に切り替えたら「Use Nodes」にチェックを入れてノードを表示させます。
ノードを表示させたら「Render Layers」のノードをクリックで選択した状態で右クリックをし、出てきたメニューから「Delete」を選択してノードを消します。
下の画面のEditor Typeのプルダウンから「Image Editor」を選択します。
Image Editor画面に切り替えたら中央上にあるプルダウンから「Render Result」を選択します。これで下画面にレンダリングした結果が表示されます。
以下のような状態にしてからノードを繋いでグリーンバックの合成をやっていきます。
2:グリーンバックを合成するノードを作成する
1の準備ができたら「Shift + Aキー」を押して出てきたメニューから「Input」→「Movie Clip」を選択してノードを追加します。
Movie Clipノードが追加されるので「Open」のボタンをクリックして動画ファイルを開きます(グリーンバックではない方の動画を指定)。
続いて同じようにMovie Clipノードをもう一つ追加し、グリーンバックの動画を指定します。
「Shift + Aキー」を押して出てきたメニューから「Matte」→「Keying」を選択してノードを追加します。
Keyingノードが追加されるので、以下のようにそれぞれImageの部分にノードを繋ぎます。
ノードを繋いだら一度「Render Image」をしてレンダリングします。するとレンダリングした結果(Compositeノードの結果)が下画面に表示されます。
ここまで出来たらKeyingの「Key Color」をクリックして緑色に変更します。
するとレンダリング結果が緑色が抜かれた状態になります。
あとはこれを別の動画に合成していきます。
「Shift + Aキー」を押して出てきたメニューから「Color」→「Alpha Over」を選択してノードを追加します。
追加したAlpha Overノードの上のImageに元となる動画を、下のImageに合成したい動画を繋げます。するとレンダリング結果として合成された画面になります。
この状態でアニメーションの書き出しを行います。
すると以下のようにちゃんと合成された状態で出力されます。
ブログ用 pic.twitter.com/ZfZEx0ZDho
— シン・ほいっぷ (@sin_deviding) September 10, 2019
今度はKeyingの「Key Color」をクリックして赤色に変更してみます。
すると以下のように赤色部分だけが抜かれた状態で出力されます。
ブログ用2 pic.twitter.com/9oXqKseogI
— シン・ほいっぷ (@sin_deviding) September 10, 2019
つまりKeyingの「Key Color」の色を調節すればどんな色でもその部分を抜いて合成することができます。
おまけ:不透明度などの調整
Alpha Overのノードで合成した結果、グリーンバックで合成する方の動画が微妙に透けてる場合があります。
その場合は以下のようにKeyingノードの「Screen Balance」、「Despill Factor」、「Dispill Balance」の値をすべて1にすると元の動画通りの不透明な状態での合成になります。
また不透明度を調節したい場合はAlpha Overの「Fac」の値で調節できます。
以上がBlender2.8でのグリーンバック合成の方法です。
背景が単一の色であれば抜いて合成することができるので、色々と役に立ちそうです。
・参考資料