Topic 2 NUKE+CARA VR
Autopanoとの連携
360度動画の制作はまず複数のカメラデータを読み込み、パノラマに展開する作業から始まる。それにあたり、CARA VR v1.05よりAutopanoのデータを読み込めるようになった点が便利だと感じたので、ぜひ紹介したい。Autopanoは複数のイメージを繋ぎ合わせて(=スティッチ)パノラマ画像を制作する独立ソフトで、360度動画制作のための様々な機能が備わっ ている。その一例が「シンクロナイズ」機能である。360度動画は複数のカメラデータを繋ぎ合わせることで全天球の画を作成するが、各カメラの録画開始に若干のズレが出る。そのため、パノラマ展開作業を始める前に、まずそれぞれの動画の開始点を合わせる必要がある。Autopanoでは「シンクロナイズ」機能により音や映像を分析して開始点を揃えることができ、またカチンコを使用することでより正確になる。CARA VRはこ のシンクロナイズ機能がない点が不便だと感じていたのだが、Autopanoで調整をした後にデータをインポートすることで、各動画はシンクロナイズされた状態で読み込まれるようになる。
また、CARA VRには、豊富なカメラプリセットを指定することで各動画をパノラマ展開する「C_CameraSolver」ツールがあるが、Autopanoデータを基にその設定も自動で行われる。さらに「C_Stitcher」ノードもはじめから接続されており、ノードをイチから繋ぐ手間も省ける。これにより、AutopanoとCARA VR、各ソフトの強みをシームレスに活かせることとなった。ただし、後述するカラーマッチに関しては、CARA VRで再調整する必要がある。
カメラデータの読み込み
AutoPanoデータを読み込んだ状態。6つの動画が自動的に配置され、ノードも接続されていることがわかる
カラーマッチ
それぞれのカメラの露出や色を均一にするカラーマッチは、後々のスタビライズにも影響するため精度の高さが必要だった。カラーマッチはCARA VRの「C_ColourMatcher」を使って調整する。レンズの曇りや映り込む太陽のフレアで不安定な場面もあったが、場合によっては1ステップごとに計算することで調整した。また、力技にはなるがカメラごとにGainを調整することもできる。カメラとカメラの間のバンディングは、「C_Stitcher」のBlendモードをMuti-BandかSpherical Multi-Bandにすると滑らかになる。Multi-Bandブレンドモードでは、Supressionが使用でき、ブレンド具合を調整できる。小さい値ほどより色と露出が均一になり、大きい値ではAlphaブレンドモードの結果に近づく。小さくしすぎると、画がぼんやりとし、大きくすると色の差が目立つため、最適な値を探ることが望ましい。
カラーマッチ前後比較
C_Stitcherのブレンドモード:Multi-Blend、Supression:0.05
Topic 3 スティッチとmocha VRでのスタビライズ
スティッチ
「C_Stitcher」により、通常はシンプルな工程でとても綺麗にスティッチされたパノラマ画像が作成される。今回は曇り・動き・回転があり情報が消えるという難しい素材だっため、様々な調整をする必要があった。CARA VRにはスティッチの精度を上げるためのいくつもの機能があるので、一部を紹介したい。ここで紹介するもの以外にも、スティッチポイントの指定・各カメラのマスク調整・Rotoによる細かな調整など、CARA VRにはスティッチを向上させる様々な機能が備わっている。
❶スティッチのStitch Keysのステップ値を調整する
ステップ値が50のときは、50フレームおきにキーが打たれスティッチの分析が行われる。キー間は、その分析を基に補完される。そのため、ステップ値を小さくし、打たれるキーを多くすればするほどスティッチの精度は上がる。ただし、場合によってはステップ値を下げるよりも、以前のデータを使う方が良い結果になることもある。例えば、カメラが曇るなど、画の正確な情報が得られないフレームは、正確な情報が得られる前半部分のデータをそのまま使用する方が結果は良くなった。各ノードや設定はエクスポートすることができるので、同じカメラ・似たような条件であれば、素材を差し替えるだけでほとんど作業なしで綺麗なスティッチが出来上がることになる
スティッチのStitch Keysのステップ値を50に設定したもの。大きくずれていることがわかる
キーが打たれるようにステップ値を設定したもの。ずれが改善された
❷Convergeの値をなるべく正確なものにする
Convergenceはカメラが重なるポイントを調整する値で、そのシーンで注目させたい部分を基準に入力する。対象物からカメラの距離をなるべく正確に入力することで、スティッチがより綺麗になる。シーンによっては近いものに合わせるか、遠いものに合わせるかである程度妥協をする場合もある。さらに、今回のように大きく動いてしまうと遠近の歪みも目立ってしまい、調整に悩んだ。「C_CameraSolver」「C_ColourMatcher」「C_Stitcher」などで設定することができ、「C_CameraSolver」でConvergeの値を設定すれば、他ノードはAutoにチェックを入れることで自動的に同じ値が適用されるようになる。なお、nodal rigでは設定できないので注意
Converge=0.4(m)。手前の男性の顔は上手く繋がっているが、奥の男性が二重になっている
Converge=20(m)。奥の男性が二重になることは抑えられるが、今度は手前の男性の顔がおかしくなってしまう。このシーンでは手前の男性の表情に注目してほしかったので、Convergeの値は小さめでいくことにした
❸C_StitcherのVectorのコントロール
スティッチした部分の歪みを調整するために、「C_Stitcher」のプロパティでVector Detail・Strength・Consistency・Iterations・Warpsの値を調整できる。それぞれ値を大きくすると、計算は重くなるが精度が上がる。とはいえむやみに値を上げると、さして結果が変わらないのに計算時間が跳ね上がる場合や、むしろ歪みすぎてしまうこともある。Strengthに関しては、値を大きくするとディテールが拾えるが、ジャギーが生じやすくなる。小さくすると正確ではなくなるが、繋がりがスムーズになる。使い分けが大事であると感じる
上がデフォルト値の結果・下が各値を上げた結果。わかりづらい可能性があるが、ブルーシートを止める石や、影に注目していただくと、Vectorの各値を上げた後は、二重の部分が軽減されていることがわかる
スタビライズ
回転を抑え、水平を安定させるためスタビライズを行う。CARA VR Xには、CameraTrackerを使用したスタビライズの方法がすでに備わっているが、今回はとても激しく動くシーンがありmocha VRを採用した。mocha VRはトラッキングソフトウェアのMocha ProにVR機能を追加したソフトである。この機能を使用して、回転補正をする。水平線のトラッキングポイントを指定し計算した後、Reorientで水平のポイントを探すことで水平線が落ち着き、回転も止めることができる。手動でキーを打つシーンもあったものの、結果として今回のプロジェクトでは正解だったように思う。乱気流のシーンなどはあまりに静止してしまうので、あえてスタビライズを甘くしたほどである。mocha VRはスタンドアローンのほか、プラグインとしてAdobe(After Effects、Premiere Pro)、Avid(Media Composer)、OFX(NUKE、Fusion、VEGAS Pro)で使用することができる。
スタビライズ前後比較
『SPACE DRIFTER-宇宙遊泳-』調整前後比較
最後に
その後カラーグレーディングを経て完成した動画は「360Channel」で配信中なので、ぜひご覧いただきたい。今回のような困難な素材を扱うにあたり、CARA VRの調整の自由度の高さはとても有益であった。宇宙を撮影した360度動画はほかにも多数存在するが、乱気流や風船が破裂する瞬間まで公開している例は珍しいのではないかと思う。
今回は360度動画制作のためのCARA VRのTIPSを多めに紹介させていただいたが、NUKEの他機能ももちろん使用できるので、CGとのコンポジット作業なども一貫して行うことができる。ソフトをまたがずに一連の作業ができることは、再調整がしやすいだけでなく360度動画の課題とされる画質の劣化も抑えることができる。個人的には、そのような使い方こそ、NUKE+CARA VRタッグの本領を発揮してくれるのではないかと思っている。
360度動画が珍しいものではなくなった昨今、次々と高品質な360度カメラが発表され、技術もまたたくまに向上している。360Channelでは、今後もより面白く品質の高いコンテンツを制作し配信していくので、ぜひご注目いただきたい。