Vive Studios は、3 つの主要な技術的目標をローンチに向けて設定しました。第一の目標は、自動車をレンダリングする際、フォトリアルなクオリティを実現することによって、実際の車と見分けがつかないようにすることでした。第二の目標は、大規模なイベントを AR および VR によって視聴者と顧客に提示することでした。広大でガランとした空間がアクションに満ちているように見せるために、1 台の実物の自動車を除いて、あらゆるものがリアルタイムにレンダリングされました。フォトリアルな AR カーのディテールにこだわりつつも、空間の三分の一がリアルタイムにビジュアライズされることによって、ステージをバーチャル LED ウォールを超えて拡張することができたのです。
Vive Studios のプロプライエタリの AR ソリューションである V2Xr は、LiveComp と XR Player から構成されています。LiveComp は、リモート制御のインターフェイスであり、システム全体を制御し、処理を管理します。XR Player は、Unreal Engine ベースのビジュアライゼーション プログラムであり、AR と LED ウォールのために使われます。LiveComp と XR Player は、常時、ステータスとコマンドをネットワークを介して送受信することによって、ビジュアライゼーション ショットを制御します。特に、XR Player は Unreal Engine の堅牢なリアルタイム レンダリングとしっかりと組み合わされることによって、3 つの技術的な目標の達成に寄与しました。
画像協力: Vive Studios
XR Player
XR Player は、Unreal Engine ベースのビジュアライゼーション用プログラムであり、AR 合成や LED ウォールのグラフィックスなどのために使われます。XR Player の内部ではさまざまなタスクが実行されています。たとえば、制御信号を LiveComp から受信してシーケンサーの位置を変更したり、AR 用映像の合成を円滑化したりします。XR Player は、目的に応じて 2 つの異なるタイプ (AR Player と SC Player) に分割できます。AR Player は、カメラによる映像と CG ビデオをリアルタイムに合成します。もう一つの SC Player は、即座に、リアルタイム レンダリング グラフィックスを出力したり、映像を LED ウォールやプロジェクション ウォールに作り出したりできます。これらの Player は、それぞれ独立して別々のレンダリング用 PC で動作します。PC の数は、AR 用カメラや LED ウォールの数に応じて増やすことができます。
SC Player は、大型の LED ウォールまたはプロジェクション ウォールに直接投影されるグラフィックスを作成するために使われます。この Player は、カメラ内撮影用のもので、カメラの動きに関する外部の情報を受け取るとともに、グラフィックスを Unreal Engine でリアルタイムでレンダリングします。ただし、今回の KIA AR プレミア ライブストリームのためには、実際の LED ウォールは配置されませんでした。SC Player の映像が AR Player から取得されることによって、大型のバーチャル LED ウォールが AR の中でビジュアライズされ、バーチャルなウォールが実際に現実のセットに存在しているかのようにしたのです。
画像協力: Vive Studios
画像協力: Vive Studios
通常、AR Player と SC Player のカメラが互いと同期することによって一体となって動く場合、視覚的な空間性は、最大限にまで引き上げることが可能になります。さらに、SC Player では、外部のカメラからリアルタイムにトラッキング情報が受信されることによって、CG 映像が適用可能となります。また、さまざまなトラッキング データの受信方式が提供されています。AR Player と同様に、SC Player は、装置の製造元によって提供されているプラグインを利用することが可能です。あるいは、FreeD のデータを直接解読することによって利用することもできます。他のやり方としては、カメラを同期させるために、カメラの位置/アングル/視野角を AR Player のソケット チャンネルから UDP パケットに送信し、下図のように SC Player によって受信されるようにすることも考えられます。UDP 方式によるソケット通信は、大量のデータを送信する場合に TCP/IP 方式よりも優秀です。また、この通信方式は、Unreal Engine の Simple TCP UDP Socket Client プラグインによって簡単に実装できます。この方式により、AR Player のカメラと SC Player のカメラは、完全に同期し、完璧に一体化して動くようになります。
SC Player の映像を実際の LED ウォールに直接投影する場合、アナモフィックな歪みを適用してから投影する必要があります。これは、カメラの撮影領域と現実の LED の形状が適用される錐台を定義するために必要なことです。しかし、本プロジェクトでは、下図のようにして、SC Player の出力映像が、直接 AR Player に配信され、バーチャル LED ウォールの形状として使われました。その際、配信された映像は、LED ウォールの形状でマスクされて、他の AR コンポーネントと外部の映像が合成されました。バーチャルの LED ウォールのこのプロセスにより、AR のコンポーネントと LED ウォール上の映像が、直ちに現実のカメラの動きに反応して、まったく新しい次元が LED ウォールの地平を超えて広がっている印象をもたらします。さらには、異なるライト/フォグ/ポストプロセスの設定をもつ 2 つの別々の空間が、一つの空間で同時に表示することが可能となります。
画像協力: Vive Studios
まとめ
準備段階で Vive Studios は、Unreal Engine ベースのハイクオリティな AR グラフィックスを、KIA の Carnival AR プレミア ライブストリームで最も効果的に配信する方法を多数検討しました。そこで、この創造的なスタジオは、操作の効率性を向上させることに力を注ぐことにしました。そのためには、リモート制御プログラムの LiveComp と、Composure に依拠したレンズの歪みのキャリブレーションと合成、現場での即座の色補正といった操作をリンクさせる機能を用いました。また、バーチャル LED ウォールという表示方式によっても、より立体感のある空間表示が創出されました。そして結果は、短い準備期間にもかかわらず成功を収めました。その理由は、Unreal Engine によって提供されているさまざまな機能やプラグインを Vive Studios が精力的に活用し、それらをしっかりとした土台にすることができたからです。必要に応じて追加機能を迅速に開発/テストし、そのプロセスを繰り返すことによって、成果を出すことができたのです。