ケース スタディ - HoloTour

Microsoft HoloLens 用の HoloTour では、世界中の象徴的な場所のイマーシブ 3D パーソナルツアーを提供します。 このプロジェクトに取り組んでいるデザイナー、アーティスト、プロデューサー、オーディオデザイナー、そして開発者が気づいたように、有名な場所のリアルな 3D レンダリングを作成するには、独創的で技術的な魔法の組み合わせが必要です。 このケース スタディでは、HoloTour に使用されるコンテンツをキャプチャして作成するプロセスについてご紹介します。

テック

HoloTour を使用して、自分のリビング ルームから、ペルーのマチュピチュ遺跡やイタリアの現代版ナヴォーナ広場のような世界の非常に素晴らしい目的地を訪れることができるようにしたいと考えました。 私たちのチームは、「本当にそこにいるように感じさせる」ことを HoloTour の目標にしました。 エクスペリエンスは、単なる画像やビデオ以上のものである必要がありました。 HoloLens のユニークなディスプレイ、トラッキング、オーディオ テクノロジを活用することで、仮想的に別の場所に移動できると確信しました。 訪れたすべての場所の光景、音、3 次元ジオメトリをキャプチャして、アプリ内でそれを再現する必要があります。

これを行うためには、ディレクショナルオーディオキャプチャを備えた 360 度カメラリグが必要でした。 非常に高い解像度でのキャプチャが必要で、HoloLens で再生したときに鮮明に見えるようにするため、カメラを近くに配置してステッチを最小限に抑える必要がありました。 水平線に沿ってだけでなく、上下にも完全な球状のカバレッジが必要でした。 また、世界中に持ち運べるように、この装置は持ち運び可能でなければなりませんでした。 利用可能な市販のオプションを評価したところ、解像度、コスト、サイズのいずれの理由からも、ビジョンを実現するには不十分であることがわかりました。 ニーズを満たすカメラ リグが見つからない場合は、自分で作成する必要があります。

リグのビルド

最初のバージョンは、ボール紙、マジックテープ、ダクトテープ、14 台の GoPro カメラでできており、MacGyver が誇りに思うものでした。 低価格のソリューションからカスタムメイドのリグまで、あらゆるものを検討した結果、GoProカメラは小型で手頃な価格で、使いやすいメモリストレージを備えていたため、最終的には最適な製品でした。 フォームファクタが小さいことは、カメラをかなり近くに配置できるため、特に重要でした。カメラ間の距離が短いほど、ステッチの不自然さが軽減されます。 独自のカメラ配置により、全球に加えて、カメラをインテリジェントに位置合わせし、ステッチ処理中に不自然な部分を削除するのに十分な重複を確保できました。

HoloLens の空間音響機能を利用することは、本物に近いリアルなイマーシブ エクスペリエンスを作り出すために不可欠です。 三脚のカメラの下にある 4 つのマイクロホン配列を使用して、カメラの位置から 4 方向にサウンドを取り込み、シーンに空間的なサウンドを作成するのに十分なデータを取得できました。

パンテオンの外で撮影用に設置された 360° カメラ リグ。

パンテオンの外で撮影用に設置された 360° カメラ リグ。

シアトル近郊のラトルスネーク リッジ まで自作のリグを持ち込み、山頂の景色を撮影しました。 その結果、今の HoloTour で見られる場所ほど洗練されてはいないものの、リグのデザインは、実際にそこにいるように感じるのに十分であるという自信を与えてくれました。

マジックテープや段ボール製の装置を 3D プリントのカメラハウジングにアップグレードし、GoPro カメラ用の外部バッテリーパックを購入してバッテリー管理を簡素化しました。 次に、サンフランシスコまで移動して、街の海岸と象徴的なゴールデンゲートブリッジのミニチュアツアーを作成するという、より広範なテストを行いました。 このカメラリグは、HoloTour で訪問する場所のほとんどのキャプチャに使用したものです。

マチュピチュでの 360° カメラ リグの撮影。

マチュピチュでの 360° カメラ リグの撮影。

バックグラウンド処理

撮影する前に、仮想ツアーに含める場所を特定する必要がありました。 訪れる予定だった最初の場所はローマでした。物事を的確に行いたかったので、事前に偵察旅行をすることにしました。 アーティスト、デザイナー、プロデューサーを含む6人のチームを派遣して、検討中の目的地を直接訪問しました。 旅行には約 9 日かかりました。移動に 2.5 日で、残りは撮影です。 (マチュピチュの場合は、偵察旅行を行うのではなく、事前に調査を行い、撮影に数日を予備として取っておくことにしました。)

ローマにいる間、チームは各エリアの写真を撮り、興味深い事実と、各スポットへの移動がどれほど難しいか、混雑や制限のために撮影するのがどれほど難しいかなどの実際的な考慮事項を書き留めました。 これは休暇のように聞こえるかもしれませんが、かなりの労力です。 一日は朝早く始まり、夕方までノンストップでした。 毎晩、シアトルに戻ったチームがレビューするために映像がアップロードされました。

ローマでのキャプチャ クルー。

ローマでのキャプチャ クルー。

偵察旅行が完了した後、実際の撮影に関する最終計画が立てられました。 これには、撮影する場所、日にち、時刻の詳細な一覧が必要でした。 海外滞在の毎日は高額なので、これらの旅行は効率的である必要がありました。 私たちは、手伝ってくれるガイドと代理人をローマで予約し、日の出前から日没後まで毎日十分に活用しました。 本当にそこにいるように感じさせるために、可能な限り最高の映像を撮る必要があります。

ビデオのキャプチャ

キャプチャ中にいくつかの簡単なことを行うと、後処理がはるかに楽になります。 たとえば、複数のカメラからの画像をつなぎ合わせるときは常に、それぞれのカメラのビューがわずかに異なるため、最終的にはビジュアル アーティファクトが発生します。 オブジェクトがカメラに近いほど、ビューの差が大きくなり、ステッチアーティファクトが大きくなります。 問題を視覚化する簡単な方法を次のとおりです。親指を顔の前に立てて、片目だけで見ます。 今度は目を切り替えます。 親指が背景に対して動いているように見えることがわかります。 親指を顔からもっと離して立てて実験を繰り返すと、親指の動きが少なくなります。 その明らかな動きは、私たちが直面したステッチの問題と似ています。カメラのように、目は少し離れているため、まったく同じ画像を見ることができません。

撮影中に最悪のアーティファクトを防ぐ方が、後処理で修正するよりもはるかに簡単なので、クローズアップ オブジェクトをつなぎ合わせる必要がなくなることを期待して、人と物がカメラから遠ざけるようにしました。 カメラの周囲に大きな空間を保つことは、おそらく、撮影中に発生した最大の課題の 1 つであり、機能させるにはクリエイティブに取り組む必要がありました。 地元のガイドと働くことは、群衆を管理する上で大きな助けになりましたが、それぞれの場所で必要なのは短時間の映像だけだったので、撮影場所をマークするために標識 (場合によっては小さいカラーコーンやお手玉) を使う方法もかなり効果的であることがわかりました。 多くの場合、優れたキャプチャを取得する最善の方法は単に、多くの人が現れる前の、早朝に到着することでした。

その他の役に立ついくつかのキャプチャ技術は、従来のフィルムの慣習から直接得られました。 たとえば、すべてのカメラで色補正カードを使用し、後で必要になる可能性があるテクスチャとオブジェクトの参照写真をキャプチャしました。

色補正カードを示すマチュピチュのラフカット。

ステッチする前のパンテオンのラフカット。

動画の処理

360° のコンテンツのキャプチャは第一歩でしかありません。キャプチャした生のカメラ映像を HoloTour に表示される最終的な資産に変換するには、多くの処理が必要です。 帰国したら、14 の異なるカメラ フィードから動画を撮影し、最小限のアーティファクトを含む 1 つの連続する動画に変換する必要がありました。 アート チームは数多くのツールを使用して、キャプチャされた映像を組み合わせて洗練したものにし、処理を可能な限り最適化するパイプラインを開発しました。 映像をつなぎ合わせて色補正してから、目障りな要素やアーティファクトを取り除いたり活気やモーションを追加したりするために合成する必要がありました。これらはすべて、実際にそこにいるという感覚を高めることを目的としています。

ステッチする前のパンテオンのラフカット。

ステッチする前のパンテオンのラフカット。

動画をつなぎ合わせるには、PTGui というツールを使用し、それを処理パイプラインに統合しました。 後処理の一環として、ビデオから静止フレームを抽出し、それらのフレームの 1 つで良く見えるステッチパターンを見つけました。 次に、そのパターンを作成したカスタムプラグインに適用しました。これにより、ビデオアーティストは、After Effects で合成しながら、ステッチパターンを直接微調整および微調整できます。

ステッチされたパンテオンの映像を示す PTGui のスクリーンショット。

ステッチされたパンテオンの映像を示す PTGui のスクリーンショット。

ビデオ再生

映像の処理が完了したら、シームレスな動画が作成されますが、解像度は約8Kと非常に大きくなります。 ビデオのデコードはコストが高く、8K ビデオを処理できるコンピューターはほとんどないので、次の課題は、このビデオを HoloLens で再生する方法を見つけることでした。 ユーザーが動画全体を見ているように感じさせながら、デコードのコストを回避するためのいくつかの戦略を開発しました。

最も簡単な最適化は、あまり変わらないビデオの部分をデコードしないようにすることです。 モーションがほとんどないかまったくない各シーンの領域を識別するツールを作成しました。 これらの領域では、フレームごとに動画をデコードするのではなく、静止画像を表示します。 これを可能にするために、大容量の動画をさらに小さなチャンクに分割しました。

また、デコードしたすべてのピクセルが最も効果的に使用されていることを確認しました。 動画のサイズを小さくするための圧縮技術を試しました。投影されるジオメトリのポリゴンに従ってビデオ領域を分割し、UV を調整し、さまざまなポリゴンに含まれる細部のレベルに基づいてビデオを再パックしました。 この作業の結果、始めは 1 つの 8K ビデオだったものが、シーンに正しく再投影されるまではほとんど理解不能に見える多くのチャンクに変わりました。 テクスチャ マッピングと UV パッキングを理解しているゲーム開発者にとって、これはおそらく見覚えがあるでしょう。

最適化前のパンテオンの全景。

最適化前のパンテオンの全景。

パンテオンの右半分。ビデオ再生用に処理されています。

パンテオンの右半分。ビデオ再生用に処理されています。

最適化とパッキング後の 1 つの動画領域の例。

最適化とパッキング後の 1 つの動画領域の例。

もう 1 つの秘訣は、見ていないビデオをデコードしないようにすることでした。 HoloTour では、シーン全体の一部しか表示されません。 視界 (FOV) の内側またはすぐ外側にある動画のみをデコードします。 頭を回すと、現在 FOV にあるビデオの領域の再生が開始され、その内部に存在しなくなった領域の再生は停止します。 ほとんどのユーザーはこれが起こっていることにまったく気付きませんが、高速で向きを変えると、ビデオの開始に 1 秒かかるのがわかります。その間に、静止画像が表示され、準備が整うと動画にフェードバックします。

この戦略を機能させるために、広範な動画再生システムを開発しました。 動画の切り替えを非常に効率的にするために、低レベルの再生コードを最適化しました。 また、任意の動画にいつでもすばやく切り替えることができるように、動画を特殊な方法でエンコードする必要がありました。 この再生パイプラインにはかなりの開発時間がかかったため、段階的に実装しました。 最初は効率の悪いシンプルなシステムから始めましたが、デザイナーやアーティストがエクスペリエンスに取り組むことができるようになり、徐々に改善されてより堅牢な再生システムになり、最終的な品質基準に基づいて出荷できるようになりました。 この最終的なシステムには、シーン内で動画をセットアップし、再生エンジンを監視するために Unity 内で作成したカスタムツールがありました。

ニア スペースオブジェクトを 3D で再作成する

HoloTourで見るものの大部分は動画ですが、 ナヴォーナ広場の絵画、パンテノンの外にある噴水、空中シーンのために立っている熱気球など、身近に見える多くの 3D オブジェクトがあります。 これらの 3D オブジェクトが重要なのは、人間の奥行きの感覚が近くでは非常に優れているが、遠くではあまり優れていないからです。 遠くにある動画ではやり過ごすことができますが、ユーザーが自分の空間を歩き回って実際にそこにいるような気になるためには、近くのオブジェクトに奥行きが必要です。 このテクニックは、自然史博物館で見られるようなものに似ています。物理的な造園、植物、動物標本を前面に配置したジオラマを、背景に巧みにマスクされたマットな画面に収めます。

一部のオブジェクトは、エクスペリエンスを向上させるために作成してシーンに追加した 3D 資産です。 絵画と熱気球は、撮影時には存在していなかったため、このカテゴリに分類されます。 ゲーム資産と同様に、チームの 3D アーティストによって作成され、適切にテクスチャが適用されました。 これらは、ユーザーが立っている場所の近くのシーンにすると、ゲームエンジンが 2 つの HoloLens ディスプレイにレンダリングして、3D オブジェクトとして表示することができます。

パンテノンの外にある噴水のようなその他の資産は、動画を撮影していた場所に存在する実際のオブジェクトですが、これらのオブジェクトを動画から取り出して 3D にするためには、多くの作業を行う必要があります。

まず、各オブジェクトに関する追加情報が必要です。 撮影場所にいる間、チームはこれらのオブジェクトの多くの参照映像をキャプチャして、テクスチャを正確に再現するのに十分な詳細な画像を取得できるようにしました。 また、チームは、写真測量法 スキャンを実行しました。これにより、数十の 2D 画像から 3D モデルが構築し、オブジェクトの大まかなモデルを完璧なスケールで提供します。

映像の処理時に、後で 3D 表現に置き換えられるオブジェクトは動画から削除されます。 3D 資産は写真測量モデルに基づいていますが、アーティストによってクリーンアップおよび簡略化されています。 一部のオブジェクトでは、噴水の水のテクスチャなど、ビデオの一部を使用できますが、噴水のほとんどは 3D オブジェクトになり、ユーザーは奥行きを認識して、限られたスペースでその周りを歩き回ることができます。 このような空間に近いオブジェクトを使用すると、大きな現実感覚が得られ、仮想の場所にいるとユーザーに思わせることができます。

噴水が取り除かれたパンテオンの映像。3D アセットに置き換えられます。

噴水が削除されたパンテノンの映像。 これは 3D 資産に置き換えられます。

最後に

当然、このコンテンツの作成には、ここで説明した以上のことがありました。 熱気球に乗ったり、より創造的なアプローチをとったコロッセオでの剣闘士の戦いなど、いくつかのシーンがあります。これを「不可能な視点」と呼びます。 これらについては、今後のケーススタディで取り上げます。

制作中に発生した大きな課題のいくつかに対するソリューションを共有することが他の開発者に役立つこと、およびこれらの手法のいくつかを使用してHoloLensの独自のイマーシ エクスペリエンスを作成するためのインスピレーションを得られることを望んでいます。 (また、その場合は、HoloLens アプリ開発フォーラムで共有してください。)

著者について

David Haley シニア デベロッパーの David Haley は、HoloTour との関わりを通じて、カメラ リグとビデオ再生について想像よりも多くのことを学びました。 Danny Askew ビデオ アーティストの Danny Askew は、ツアー参加者にとってローマの旅ができる限り非の打ちどころがないものになるよう奮闘しました。
Jason Syltebo オーディオ デザイナーの Jason Syltebo は、時空を超えて訪れるすべての場所のサウンドスケープをツアーで体験できるよう尽力しました。 Travis Steiner Travis Steiner は、ロケーションの調査とスカウト、旅行計画の作成、現場での撮影の監督を行ったデザインディレクターです。

関連項目