Tutorial — GeoTracker for Blender
水面シーンのカメラトラッキング —
GeoTracker for Blender チュートリアル
この短いチュートリアルでは、GeoTracker for Blender を使って、ドローン撮影のショット内で動いている水面をもとに、カメラの動きをトラッキングする方法を学びます。水面にシンプルな平面をジオメトリとして設定すること、3Dカメラトラックを抽出すること、そしてショットを完成させるために簡単なCG要素を追加することまで、ワークフロー全体を順を追って説明します。
✓ 良いトラッキングの特徴が取れない難しい海のショットに最適 Nukeでも同じ考え方で進められます
タイムコード
  • 0:00イントロ
  • 0:20カメラトラッキングに必要な準備
  • 1:31ターゲットジオメトリの位置合わせ
  • 3:00焦点距離の推定
  • 3:31カメラトラッキングと品質チェック
  • 4:09シーンへの3D要素の追加
1
イントロ

今回は、このドローンのボートショットで、カメラの動きをどう再現できるかをお見せします。水面のトラッキングは難しいです。水面は常に変化していて、固定された特徴がなく、そこにロックすることができません。ですが、GeoTracker for Blender を使えば、カメラの動きを解き、その上にいくつか3D要素を追加することができます。

それでは始めましょう。これが Blender のスタートアップシーンです。ライトとキューブを削除して、新しい GeoTracker を作成します。

2
カメラトラッキングに必要な準備

GeoTracker を作成して、フッテージを読み込みます。クリップをスクロールして、すべて問題なく動作することを確認しましょう。そのあと、この Analyze ボタンをクリックします。これによって、後でトラッキングをより速く行うためにクリップが解析されます。では次に、GeoTracker がこのショットをトラッキングして、カメラの動きを解くために使うターゲットジオメトリが必要です。

今回は、デフォルトの平面を使います。Shift + A を押して、Mesh > Plane に進み、それをおよそ50メートルまで拡大します。このくらい大きくする必要があるのは、フレーム内に見えている水面全体をしっかり覆うためです。そうすることで、より安定したトラックが得られます。

💡
この平面はかなり大きくリサイズしたので、Blender がそれを 1.0 として扱うように、スケールを適用する必要があります。もう一度言うと、平面を選択して、Ctrl + A を押し、Scale を選びます。これで、GeoTracker がこのジオメトリを正しく扱えるようになります。

そして、トラッキングを始める前に、もうひとつあります。

  • 1
    Tab を押して Edit Mode に切り替えます。
  • 2
    平面上のどこでも右クリックして、Subdivide を選びます。
  • 3
    左下に出る設定ボックスで、Number of Cuts20 まで上げます。これで、ただの1枚の面ではなく、きれいなポリゴンのグリッドになります。これによって、位置合わせやトラッキングがずっとやりやすくなります。
  • 4
    それを Geometry Input に指定して、実際のトラッキングのために Pin Mode に入ります。
3
ターゲットジオメトリの位置合わせ

では行きましょう。これで平面が緑色のメッシュとしてここに表示されています。ご覧のとおり、かなり大きいのですが、デフォルトの色だと青緑っぽい水面の上では見づらいです。なので、色を変えましょう。

  • 1
    Appearance タブに行って、Opacity1 に上げます。
  • 2
    Lit Wireframe のチェックを外して、たとえばピンクのような、明るくてコントラストの高い色を選びます。
  • 3
    Presets アイコンをクリックし、New Preset を選んで、たとえば pink のような名前を付けてプラスアイコンで保存します。

これで、もし今後うっかり設定をリセットしてしまっても、この一覧から pink プリセットをすぐに再適用でき、カスタムした表示設定をすべて元に戻せます。

トラッキングは好きなフレームから始められます。今回は最後のフレームを選びました。ここではボートが水面に対してちょうどよく水平に見えているからです。そのため、ここは平面をカメラパースに合わせるための、理想的な基準フレームになります。

では、もうひとつ。最終的に目指しているのはカメラトラッキングなので、Camera Tracking Mode に切り替えましょう。ただ、たとえ Geometry Mode でトラッキングしたとしても、あとでいつでも Scene タブに行けば、ジオメトリアニメーションをカメラに変換したり、その逆をしたりできます。ここにはカメラのプロパティもあります。

本来であれば、このショットを撮影したカメラの焦点距離が分かっているのが理想ですが、これはストックフッテージなので分かりません。なので、まずは平面の位置合わせから始めて、焦点距離については少しあとで戻ってくることにします。

平面の四隅をドラッグして、フッテージ内の水面のパースに合うように調整します。平面がおおまかに合ったら、Estimate Focal Length オプションを有効にします。すると、背景に対して平面をさらに合わせていくにつれて、GeoTracker が焦点距離を推定してくれます。

4
焦点距離の推定

そして、ご覧のように、およそ 80mm くらいになります。この作業はできるだけ正確に行ってください。完璧に安定したトラックを得るための重要なポイントだからです。ここでも最後のフレームから始めるのが大いに役立ちます。ボートがかなり水平で、波による上下の揺れも最小限なので、良い基準になります。

このグリッド線がボートの形に対しておおむね平行を保っているか確認してください。そうであれば、パースが正しいという確認になります。よし、では次に進みましょう。
5
カメラのトラッキングと品質チェック
  • 1
    Tracking タブに移動して、Track Backwards を押します。トラッキングが完了するまで待ちます。
  • 2
    それから、3Dで確認するために、別のビューポートも開いてみましょう。すると、ご覧のように、フッテージで見えているものとかなりよく似ています。
  • 3
    Object PropertiesMotion Path タブに行き、Calculate をクリックします。Keyframe Numbers のチェックも外します。

はい、これはすでにかなり滑らかに見えますね。特にリファインする必要はありません。たった1つのキーフレームで、ほぼカメラモーションを再現できています。カメラパスが、きれいで滑らかなアーチとして見えるようになります。そして、見た感じ完璧です。

よし、ではここでいくつか3D要素を追加していきましょう。岩のモデルを読み込んで、シーン内に配置します。

6
シーンへの3D要素の追加

それを適切に合成するために、Render PropertiesFilm を Transparent に設定し、さらに平面に Holdout を有効にして、マスクとして機能させる必要があります。これで岩の位置と回転を調整し、それを複製して、シーン内の別の場所にも置くことができます。再生して見た目を確認し、必要であればさらに岩を追加してください。

🎯
よし、今回はここで止めておきましょう。ただ、この先もぜひ自由に進めてみてください。シーン全体を作り込んだり、マテリアルを試したり、あるいはこのアニメーションしたカメラを使ってボート自体をトラッキングすることもできます。

これは、すばやく滑らかなカメラトラックを得るための基本的なパイプラインでした。しかも、水面のような難しいサーフェスに対しても、簡単に行えます。今回は Blender で行いましたが、同じアプローチは Nuke でも機能します。

水面や海面、反射の多いサーフェスなど、従来のトラッキングでは手こずりやすいショットを扱う際の、実践的なアプローチのひとつとして役立つはずです。