【5分でわかる】Blenderを使って合成映像を作る方法!

今回はBlenderのモーショントラッキング機能を使って簡単な合成映像を作る方法をご紹介します。
まずは今回作成したものをご覧ください。

こんな感じでPCの上に島根県のホログラム?を表示させることができます!
元の動画はこんな感じです。

机の上が汚くて申し訳ないです、、、
今回はマテリアルなどの設定は話がずれるので割愛させていただきます。

合成ができるようになる

を目標に話を進めていきます。

モーショントラッキングとは?

モーショントラッキングとは動画内の被写体の動きを分析し、追跡することができる機能です。
実際には被写体の動きを分析するために動画内の特徴的な部分をいくつかマークしてそれぞれを追っています。
モーショントラッキングを行うには専用の高額なソフトなども多数ありますが、Blenderにもその機能がついているのでそちらを使ってみます。
あまりネット上にもモーショントラッキングを解説しているページが少なくBlenderの標準機能でも気がついていないという方も多い機能では無いでしょうか…?

モーショントラッキングを行うために

まずモーショントラッキングを行うために必要なのは

・合成したい動画データ
・合成する3Dモデル(平面でも構いません)

この二つです。

・合成したい動画データ

Blenderが読み込める拡張子ならなんでも大丈夫です(mp4などの一般的なものなら読み込めるはずです。私はiPhoneSEで撮影したのでm4vでした。)
動画の内容ですが、なるべく動きが早すぎないものが良いと思います。
今回は自動でモーショントラッキングを行うので、あまり早いとマーカーが外れてしまいます。手動で直すこともできますがかなり面倒です。

・合成する3Dモデル

これはどんなものでも良いです。
マテリアル等などを設定しておくと、合成した時に違和感が少なくなります。
今回使用したモデルはcycleレンダーでノードをいじってそれっぽい感じになっています。

作業の流れ

それでは早速作っていきましょう。
作業の大まかな流れとしては

動画データの取り込み

データの解析

3Dオブジェクトの配置

書き出し

という感じです。

まずBlenderを起動します。
今回はとりあえず最初からある立方体を合成していきたいと思います。
次に動画を読み込むために左下のモードの切り替えから動画クリップエディターを選択します。
作業がしやすいように画面を分けておくと良いです。

次に動画クリップエディター画面の真ん中の下にある開くをクリックして開きたい動画データを選択します。

うまく開けるとこのような画面になると思います。
次に左側のメニューのマーカーの欄から特徴を検出をクリックします。
もし写真のメニューが出ていなければTキーを押すと出てきます。

すると自動的に特徴的な部分にマーカーが設置されます。
ここでマーカーの数が10個以下だと特徴が少なすぎるので他の動画か、以下の「使用する部分の選択」でやり直しましょう。
次に使用するフレームを選択します。
動画を読み込んだ状態でタイムラインを表示させ、再生すると動画も再生されます。
ここで開始と終了のフレームを調整しておきましょう。

今回は0~120フレーム(約4秒間)を使用します。
設定できたら開始フレーム数と現在のフレーム数を合わせて、トラックの再生ボタンを押します。

マーカーの自動トラックが開始されますので終わるまで待ちましょう…
ちなみにロスト(見失った)したマーカーはピンク色で表示されます。
実際に画面から消えているのなら良いですがもしマーカーが外れただけならば、マーカーが黄色の状態でドラッグして補正することができます。

トラッキングが終了しました。
この時黄色のマーカーが8つ以上ないとこの後の作業に影響が出るので、もしなかったら動画のデータを変更するか、使用するフレーム数を減らす、または手動でマーカーをつけて8つ以上にしてください。

次はカメラモーションのソルブを行います。
もし使用しているカメラ、レンズのオプションに自分の使用しているものがあれば設定しておきましょう。
(iphoneは古くて5までしかなかったですが…)
もし選択肢になければ左の焦点距離、光学中心、K1,k2を選択しておきましょう。
(この辺の設定がどのように影響を及ぼすのかはわかりません…)

カメラモーションの解決をクリックすると解析してくれます。
ぱっと見わかりにくいですが、処理が完了すると右下にSolve error:数値の表示が現れます。

この数値が4程度なら大丈夫なようです。(小さければより良いです)

次に地面の設定をします。
最終フレームで黄色のマーカーを三つ選択して、自動接地をクリックします。

次にシーン設定から「背景として設定」「トラッキングシーン設定」の二つを選択します。
うまくいけば、3Dビュー上に背景と「ground」というオブジェクトが表示されます。
(背景はカメラ画面でないと表示されません。)

ここまでできたらあとは3Dビュー上で表示させたいモデルを移動してあとは書き出せば完了です!
(書き出しの詳細設定などは今回は割愛させていただきます)
この時に別のオブジェクトを使ってオブジェクトを隠したり、アニメーションをつけることもできます!

最後に

以上が簡単なトラッキングの方法です。
かなりざっくりと説明したので、もっと精度は上げることができます。
自分なりにやり方を探してみましょう!

4 replies on “【5分でわかる】Blenderを使って合成映像を作る方法!”

  1. aki より:

    すみません、丁寧にありがとうございます。
    僕もやってみたんですが、シーン設定のトラッキングシーン設定を押すと、エラーになってセンサーの幅がおかしいと言ってきます。
    どうすれば解決できますか?

    • lovewcycle より:

      aki様
      返信が遅くなり申し訳ございません。

      トラッキングした時のマーカの数は十分でしょうか?
      ・動画の最後まで最低でも8つの黄色いマーカーが残っているか
      ・カメラモーションの解決を選択した際にでる「solve error」の値が4よりも小さいか
      この二つを確認してみてください。

  2. syunpon より:

    とても分かりやすく参考になりました
    ちなみに実写の映像をもとにCyclesレンダーの光沢シェーダーなどで映り込ませることはできますか?

    • lovewcycle より:

      syunpon様
      コメントありがとうございます。

      Cycleレンダーでも同様のことをすると合成が可能です。

      映り込みにつきまして、静止画は可能なことを確認しています。動画のほうはやったことがありませんが、可能だと思います。
      やり方としてはマテリアルのテクスチャの方に背景の画像と同じ動画データを設定して動画の時間を同期させるとできるような気がします…(確実な情報でなくて申し訳ございません。)

      また時間があれば記事にして掲載させていただきます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)