2020年4月27日
Unreal Engine と HoloLens 2 により、複合現実が大きな飛躍を遂げる
これが、ライブのアポロ 11号 HoloLens 2 デモで紹介された技術機能です。企業的な状況における複合現実の大いなる飛躍と言うべきものです。このデモでは、Unreal Engine と HoloLens 2 を活用することによって、複合現実で見られる最高品質のビジュアルを実現できることが示されています。 以前、私たちはこのプロジェクトについて紹介しました。それは、昨年、このプロジェクトが実現したときのことでした。今度は、その制作における技術的な側面について詳しく見ていくことにします。
ワイヤレスでストリーミングされる高忠実度 MR のビジュアル
アポロ 11号のデモは、もともと Microsoft Build のステージでの発表を予定していたもので、Epic Games と Microsoft のコラボレーションにより、HoloLens 2 にクラス最高のビジュアルをもたらすものです。このプロジェクトの指揮を執った Epic Games の高度プロジェクト ディレクター Francois Antoine は、次のように述べます。「私たちは HoloLens 2 の初期プロトタイプを試してみるように、Microsoft の AI と複合現実のテクニカル フェローである Alex Kipman にすすめられました。そして、私たちはこの次世代デバイスがもたらす没入感と快適さが桁違いに向上していることに圧倒されたのです。帰り道、心に残ったのは、『HoloLens 2 のすさまじい機能を実演するには、どのようなショーケースがベストなのか』という思いでした。」偶然にも、昨年は人類最大の技術的成果である最初の月面着陸の50周年にあたりました。これこそうってつけの状況です。そこで Epic のチームは、歴史的使命の重要な瞬間を再現するショーケースの作成に着手したのです。
元の素材にできる限り忠実なものにするために、チームはアポロ 11号 のミッションに詳しい著名な専門家を訪ねました。ライブ デモは、ILM のチーフ クリエイティブ オフィサーである John Knoll と、宇宙歴史学者であり『A Man on the Moon』の著者である Andrew Chaikin によって実演されました。Knoll は参考資料の多くを提供し、3D アセットのリアリズムについて助言するとともに、このプロジェクトに従事している Epic のチームに対してアポロ ミッションの全容について説明しました。
このデモは、アポロ 11号ミッションのさまざまな側面を研究したため、前例のないほど高いレベルの視覚的ディテールが備わっています。「これまで、複合現実でこれほどフォトリアルなものはありません」と述べるのは、プロジェクトのテクニカル アーティストである MinJie Wu です。
ビジュアルは、ネットワーク化された PC で実行される Unreal Engine から、Knoll と Chaikin が装着している HoloLens 2 のデバイスにワイヤレスでストリーミングされます。2 人のプレゼンテーターに共有される経験を作成するためには、プロトタイプ バージョンの Azure Spatial Anchors が使用されます。
2 台の HoloLens 2 デバイスをネットワーク化することにより、それぞれのデバイスが物理的空間内のどこに位置するかを理解し、お互いを追跡できるようになります。3 台目の Steadicam カメラも、その前面に HP Windows Mixed Reality ヘッドセットを固定することによって追跡が可能になります。
この 3番目の物理カメラをキャリブレートして Unreal Engine のカメラに合うようにすることは、特に大変でした。「私たちは、複数の視界からレンズ グリッドを撮影し、OpenCV を使ってレンズ パラメーターを計算しました」とバーチャル プロダクション エンジニアの David Hibbitts は言います。「そして、これらのレンズ パラメーターを Unreal 内でレンズ ディストーション プラグインで使用して、Unreal カメラのためのプロパティ (視野角、焦点距離など) を計算するとともに、ディスプレイスメント マップを生成し、Unreal のレンダーを歪めてカメラの映像と合致させるようにしたのです。」
カメラの設定と歪みを正しくできたとしても、カメラが動き始めると、やはり不整合が生じる可能性があります。これは、カメラでトラッキングしている点がレンズの節点 (Unreal Engine がカメラのトランスフォームのロケーションとして使用するもの) と一致しないことから起きます。そのため、このオフセットを計算する必要があります。 これを解決するためには、ワールド内の既知の 3D 位置と、カメラのビュー内の同じ点の既知の 2D 位置をそれぞれいくつか取得する必要があります。これによって、節点の 3D 位置を計算できます。そして、イメージをキャプチャする際にトラッキングされているカメラの位置がわかれば、オフセットがわかることになります」と Hibbitts は説明します。
既知の点と既知のカメラ位置を取得するために、チームは、グリッド上の点を既知の点として使用しつつ、レンズ グリッドを撮影しながら、トラッキング システムが作動するようにしました。これにより、1 回のパスで、カメラとトラッキングのオフセット両方のキャリブレーションを取得できるようになりました。
これのセットアップには 3 つの Unreal Engine のインスタンスが必要です。1 つはカメラ用で、もう 1 つは各 HoloLens のためのものです。これらはすべて、別途用意した専用サーバーにネットワーク接続されます。「これらは互いに話しかけ、自分が物理的な空間のどこにいるか把握します。そのため、みんな同じ時間に同じものを見ることができるのです」と、アポロ 11号プロジェクトで XR リードを務めた Ryan Vance は説明します。
計算プロセスをモバイル デバイスからハイパワーの PC にシフトさせることは、複合現実にとって大きな前進です。以前なら、モバイル デバイス上で Unreal Engine の完全なスタックを実行する必要がありました。「長所は、電話などのために取る標準的なモバイル導入戦略が使えるということです」と Vance は言います。「欠点は、コンピューティング的観点からすると、デバイス自体のハードウェア能力に制約を受けるということです。」
Unreal Engine によるホログラフィック リモーティングのサポートを活用することによって、ハイエンド PC によるグラフィックスを HoloLens デバイスにもたらすことができるようになりました。「非常に高品質なビジュアルを PC 上でレンダリングし、それを HoloLens に配信できるため、新しい体験が得られます。これまでだれも経験したことがないものをです。」と Vance は言います。
ホログラフィック リモーティングは、Wi-Fi接続を介して、ホログラフィック コンテンツを PC から Microsoft HoloLens デバイスにリアルタイムでストリーミングします。「最終的な画像を生成するためにネイティブのモバイル ハードウェアに依存しなくてよいということは、とてつもなく大きなことなのです」と Wu は言います。
プレゼンターとホログラム間の相互作用を考えると、MR と VR における設計の違いがわかります。「VRでは、『セーフゾーン』を設置し、その中でのみ移動することに縛られます」と、本プロジェクトのリード プログラマーである Jason Bestimt は言います。「他方、MRでは、このように制約はありません。それどころか、その空間を動き回ることで、そのエクスペリエンスを最大限に活かすことができるのです。」
再投影にともなう往復遅延への対処
アポロ 11号のデモを制作するために、チームは、ゲームですでに何年もの間使用されてきた機能を活用しました。「すばらしいことに、現在十分に知られている標準の Unreal ネットワーキングとゲームプレイ フレームワークの概念を取り入れ、それらを利用して複数の人との協調的ホログラフィック エクスペリエンスを構築できるのです」と Vance は語ります。XR (拡張現実) のシステムにネットワーク接続を加えると、必ず、トラッキング データのストリーミングに遅れが生じます。PC と HoloLens のデバイス間には少なくとも 60 ミリ秒の往復遅延が生じます。そのような条件のもとでトラッキング システムを調整することが、このプロジェクトでは最大の難関でした。「世界は頭が実際にある場所よりも後ろになってしまうのです。動きを極端に止めて立っていようとしても、少しは頭が動き、それは察知されます」
この問題に対応するために、Microsoft は、再投影テクノロジーをリモーティング レイヤーに統合するという、遅延問題に対処する場合の標準的なアプローチを取りました。再投影は、高度なハードウェアの支援によるホログラフィック安定化技術です。これは、シーンがアニメートし、ユーザーが頭を動かすときに、その動きと視点の変化を計算に入れる技術です。再投影技術を適用することによって、システムのあらゆる部分が通信および一致できるようになり、仮想世界における点が物理的世界の点と関連づくようになりました。
複合現実のインタラクションを実験する
このライブ イベント プロジェクトによって HoloLens 2 から Unreal Engine へのセットアップが可能であることが証明された後、チームは一般公開用バージョンのデモを作成しました。「私たちは、もう少しシンプルなものとして再パッケージ化することによって、このシングル ユーザーのためのエクスペリエンスを誰でもデプロイできるようにしたかったのです」と、Antoine は言います。アポロ 11号のデモは、Unreal Engine マーケットプレイスから無料でダウンロードできます。チームは、この一般公開バージョンを作成しながら、最も成功した複合現実のインタラクションのタイプについて、多くのことがわかりました。「当初、私たちは突拍子もないインタラクションを多数作り出しました。たとえば、アイアンマン方式などです」と、プロジェクトのテクニカル アーティストである Simone Lombardo は語ります。「それらは本当に楽しく直感的に使用できると思ったのですが、すべての人にそうだというわけではありませんでした。」
複合現実を初めて使用するユーザーは、複雑な相互作用を理解するのが難しく、トリガーとなるインタラクションが間違ったタイミングで起きることに気付きました。最も簡単な相互作用は単純な「つかむ動作」「タッチする動作」であることがわかりました。これらが現実世界のインタラクションを反映しているためです。
この発見に基づき、アポロ 11号のデモは、単純なタッチの動きをインタラクションのために採用しました。「ダブルピンチなどの『複雑な』インタラクションをすべて削除した理由は、デモンストレーターが誤ってトリガーしてしまうからだけではありません。ユーザーの手が範囲外に出ると意図しない反応を数多く引き起こしてしまうためなのです」と Bestimt は説明します。「多くの人は、黙っていると親指と人差し指は隣りどうしに位置しており、『ピンチ』の態勢になります。そのため、インタラクションを開始するために手を上げると、自動的に意図しないピンチが検出されてしまうのです。」
メニューの使用などの他のインタラクションについても、エクスペリエンスに有害であることが判明しました。ユーザーが無意識のうちにオブジェクトの周りを移動することが少なくなるからです。
また、チームは、仮想世界と物理的な世界の間にあるギャップを埋めるユーザー エクスペリエンスを新しいやり方で創出しました。多くの人は、ホログラムに遭遇すると本能的にホログラムに触れようとします。その結果、指がホログラムを通り抜けてしまいます。「私たちは、ディスタンス フィールド エフェクトを追加することによって、現実の指と接触するとホログラムが青っぽく光るようにしたのです」と Lombardo が言います。「これによって、現実と非現実のつながりができました。」
それ以来、チームは、HoloLens 2 のための Azure Spatial Anchors (空間アンカー) のサポートに取り組んできました。この Azure Spatial Anchors のサポートは、最新の Unreal Engine 4.25で利用可能になりました。Spatial Anchors を使用すると、セッションが移り変わってもホログラムを現実世界の空間内に維持しておくことができます。「それによって、すべての部分を噛み合わせることが非常に簡単となります」と Vance 氏は指摘します。「そのため、私たちがネットワーク化されたステージのデモで示したようなものを再現することは比較的簡単になるはずです。複数の人たちがみな同じ空間を共有することになるのです。」
Microsoft の HoloLens 2 の発売以来、ホログラフィック コンピューティングは、小売業から土木工学に至るまで、産業界に劇的な影響を与えると予測されてきました。アポロ 11号のデモで紹介されたシーンのセットアップは、ビジュアルとインタラクションの品質が飛躍的に進歩したことを示しています。
独自のフォトリアリスティックな複合現実エクスペリエンスを制作してみませんか? Unreal Engine は今すぐ無料でダウンロードできます。