見出し画像

4. Natronでクロマキー合成

更新

2020/07/03 公開
2020/07/04 Trackerの説明に大きく誤りがあったため改稿。方法②の追加。

今回の目標

クロマキー合成でフリーのタブレットを操作する動画のタブレット画面に猫の動画を合成する。今回は2方法で行った。
方法①→②で作成したので②のほうが上手にできたけど、そんなに変わらないはず。
方法①:ChromaKeyerで作成

画像7


方法②:PIKColor、PIK、Despillを用いて作成

画像9

材料

・スマートフォンを使用する人の動画(画面がクロマキー合成用のもの)
・はめ込みたい動画素材
注意
はめ込みたい動画素材のカット編集、Croppingなどは軽い別のソフト(Olive)で行いました。
今回紹介するのは一例(2例?)です。他にもたくさんやり方があるみたいですが、あくまで私の備忘録なので。

やりかた

このノード、作りたいけどどこにあるの?→ Node Editor内でTabキーを押して検索。
(準備)
Natronに、Readで動画素材2つを読み込んでおく。
Rキーを押して読み込みたい動画を選択してOpen

透過動画の準備
方法①:ChromaKeyer
1. クロマキー合成用(スマートフォンを使用する人の動画)のノードにKeyer > ChromaKeyer ノードをSourseでつける。

スクリーンショット 2020-07-03 5.07.12

2. ChromaKeyer ノードのプロパティでKeyColorの色をクリック → スポイトアイコンが点灯するのを確認し、透過したい部分(今回は緑色)の色をCommand + クリックでスポイトに取る。

スクリーンショット 2020-07-03 5.08.45

3. Viewerパネルをアルファチャンネルにし(Aキー)、つまみを動かしながら透過がよくなる数値を探る。

方法②:PIKColor、PIK、Despillを用いる
1. PIKColorノードでClean Plateを作成する。
 クロマキー合成用(スマートフォンを使用する人の動画)のノードにKeyer > PIKColor ノードをSourseでつける。
2. PIKColor ノードのプロパティから、Screentypeでスクリーンの色を選ぶ。
今回は緑のスクリーンなので、Green。
3. ViewerパネルをAlphaにし、数値を調整。
4. PIKノードを作成し、CをPIKColorノードに、Fgを動画につける。
5. Despillノードでスクリーンによる反射を除去する。
 PIKノードの下流にDespillノードをSourseでつける。

透過部分をTrackで追う(共通)
今回、透過部分はフレームごとに移動する。
そのままMergeで動画を合成すると、画角が変化するのにはめ込み動画は一定で違和感がある。
そこで、透過部分をFrameごとに追いかけ、そこにはめこんでいく。
1. 1フレーム目を選択
2. 透過した動画からChromaKeyer ノードを一旦外し、新たにTrackerノードをつなぐ。

スクリーンショット 2020-07-03 5.18.32

3. 動画内のタブレットの画面4隅にそれぞれTrackerをつける(Tracker1~4。)
4. ざっくりフレームを動かしながら、それぞれのTrackerで4隅を追っていく。
5. 最終フレームまで行ったら1フレームまでもどり、下図のようにTrackerのメニューが出ているので、▶(TrackFW)を選択

スクリーンショット 2020-07-04 15.02.13


6. Trackが進行し、勝手に1フレームごとの動きを追っていってくれる。
(Fitting Error pxを2-3 pxにするとよりずれないかも)
途中で止まったときは手動で合わせるか、そのフレームには写っていないときは写るフレームまで移動して再度▶。終了後確認してずれを修正する。
7. Motion TypeをMatch-Moveに変更すると以下のような画面に変わる。
8. Robust Modelのチェックをはずし、CornerPin ControlsとOverlay pointではFromを選択(画像ではOverlay pointがToになっているので注意)

スクリーンショット 2020-07-03 5.23.38

9. Viewerパネル内の動画の四隅に□が現れるので、それをそれぞれ設定したTrackerに合わせていく。(動画自体が変形されるようならViewerノードをReadから直接つながるように変える。)、CornerPin Controlsのfrom1〜4の座標が変わるはず。※1フレーム目だけで良い。
10.  Overlay pointをToに変更し、Computeボタンをクリック(画像だと上1/3くらいにある。)
11. Trackerの□とCornerPin Controlsで現れた□が消え、以下のように画面部分が四角く囲われる。

スクリーンショット 2020-07-03 5.31.03

12. フレームを変えてみて、囲われた枠が画面に合わせて動くのを確認する。

動画をはめ込む(共通)
1. Trackerのプロパティで、Disable ColorPinのXをつける
2. Exportをクリックすると、Trackerに親子関係のあるColorPinノードが作成される。
3. ColorPinノードのSourceにはめ込みたい動画をつなげる。

動画をはめ込む 方法①:ChromaKeyer
4. ChromaKeyer ノードのBgに3.のColorPinを、Sourceに透過した動画をつなげる。

スクリーンショット 2020-07-03 13.50.46

5. ColorPinノードのプロパティを調整する。まずはfromタブに変更し、ExtraMatrixもFromに変更する。
6. Viewerパネル内の動画の四隅に再び□が現れるので、それを動かすとはめ込みたい動画が変形する。□を動かして、透過部分にはめ込みたい動画が合成されるようにする。
7. 最終確認

動画をはめ込む方法②:PIKColor、PIK、Despillを用いる
4. Mergeノードを作成。Despill(上流に透過動画がつながる)をA(前景)に、ColorPin(上流にはめ込みたい動画がつながる)をBにつなげる。
5. MergeノードをViewerにつないで確認。

書き出し(共通)

Writeノードで書き出しを行う。
1. Writeノードを作成すると保存場所、拡張子、ファイル名などを聞かれるので、それぞれ入力。
2. Writeノードのプロパティで書き出しのフレーム範囲(Frame Range)やFrame Rate(FPS)などを好みで設定(初心者は無難にプロジェクト設定に合わせるのが良い。)
3. Renderをクリック。
4. Node EditorにProgressタブが現れる。Progressタブでは書き出しの進捗を確認したり、一時停止、キャンセルなどができる。
※書き出し中にViewerは動かないのはエラーではなく仕様。


上手にできるといいですね!


この記事が気に入ったらサポートをしてみませんか?