Image courtesy of Vive Studios

Vive Studios、Unreal Engine を活用して KIA の AR ライブストリームを立ち上げる

Epic Games Community Manager Jinyoung Choi
8 月、Hyundai Motor Group の KIA Motors は、『Carnival on AR (拡張現実による Carnival)』を開催しました。これは、同社の第 4 世代の Carnival のための AR 発売開始イベントであり、この車種の最新ラインナップをオンラインで紹介したものでした。Vive Studios は、Unreal Engine の AR 能力を活用することによって、このイベントを可能なものにしました。Vive Studios は、韓国に本拠を置くグローバルなストーリーテラーです。これまでも、魅力的なデジタル経験を、『Meeting You』や IZ*ONE の XR コンサート『ONEIRIC THEATER』といった作品で実現し、VR や AR、VFX などさまざまな分野において称賛を浴びました。今回の AR によるプレミア ライブ ストリームも成功裏に終わり、Vive Studios はまたもや立派な仕事を成し遂げることができました。
 

プロジェクト『Carnival on AR』は、オンライン イベントとして計画されたもので、KIA Motors 製の Carnival シリーズに導入された最新モデルのラインナップを顧客に紹介するためのものでした。ちなみに、新モデルのリリースは 6 年ぶりのことでした。従来型のオフラインによる発売イベントであれば、現物の自動車を直に目にして経験することが可能です。しかし、現下のソーシャル ディスタンスという状況下で、KIA Motors が選択したのは、Carnival の特徴と売りをユニークなやり方で紹介するということでした。

成功を収めたこのバーチャル ローンチは、リアルタイムで世界中の視聴者にライブ ストリーミング配信されました。それによって、韓国のこれまでの最高記録を抜き、15万5千人の視聴者を得るとともに、同時接続者数 3,300 人を達成しました。さらに、このイベントは、リアルタイム テクノロジーによって支えられた新たなオンライン AR ローンチの新たな可能性を提示するとともに、斬新な経験をカスタマーに最高にリアルな CG を使って示したのです。

Vive Studios は、自分たちがオンライン ローンチで成功できた源には Unreal Engine があると断言しています。であれば、Vive Studios がどのようにして Unreal Engine を使って、Carnival の AR イベントを制作したのか詳しく見ていきましょう。

プロジェクトのコンセプト

Vive Studios は、新たな創造的ソリューションを作り出しました。それによって、『Carnival on AR』プロジェクトで、ライブ番組の活気を演出するとともに、プレゼンターと自動車との間に生じるインタラクションを提示し、製品のブランド哲学を明確にしたのでした。Carnival の哲学とは、「接続の中心」です。これは、空間と人々、情報、経験、世代がつながることを意味しています。この哲学を生配信に生かすために、レコーディング スタジオは、まさに「接続の中心」を実践しました。現実の車両、AR の車両、VR の車両を単一の空間に置いたのです。そうすることで、3 つの現実がつながりました。このとき、AR と VR のコンポーネントを作成するために使用されたのが Unreal Engine です。

技術的な目標

Vive Studios は、3 つの主要な技術的目標をローンチに向けて設定しました。第一の目標は、自動車をレンダリングする際、フォトリアルなクオリティを実現することによって、実際の車と見分けがつかないようにすることでした。第二の目標は、大規模なイベントを AR および VR によって視聴者と顧客に提示することでした。広大でガランとした空間がアクションに満ちているように見せるために、1 台の実物の自動車を除いて、あらゆるものがリアルタイムにレンダリングされました。フォトリアルな AR カーのディテールにこだわりつつも、空間の三分の一がリアルタイムにビジュアライズされることによって、ステージをバーチャル LED ウォールを超えて拡張することができたのです。
画像協力: Vive Studios
第三の目標は、AR に最適化した制御インターフェイスを作ることでした。AR の制作には、複雑で大規模なコラボレーションが必要となります。これは、通常の映画制作では使われることがないテクノロジーと機材が多数必要となるからです。たとえば、トラッキング用デバイスとか、リアルタイムの合成用プログラム、PC の同期化などがそれに該当します。このような体制なので、現場では予期せぬ出来事が生じます。デバイス間で生じるクラッシュ、制作の方向性の変化、プレゼンターの事故などがそれです。このような状況により、プロ仕様のインターフェイスと制御インターフェイスが必要となりました。それによって、現場で起きる緊急の問題に素早く対応し、スムーズな制作プロセスを確保することが可能になるからです。最終的に、Vive Studios は、Unreal Engine が提供する自由度に価値を見出しました。既存の機能の上で制作できる自由と、現場のニーズに迅速に応えることができる自由を重視したのです。こうして、Vive Studios は、V2Xr という自社製 AR ソリューションを Unreal Engine に依拠して開発することにしました。このソリューションを現実のものにしたものは、Unreal Engine のリアルタイム レンダリング機能、同期化機能、外部映像の合成の実現性、そして、Epic Games によって提供されるさまざまなプラグインに尽きます。 

AR ソリューションの合成としての V2Xr

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 ウォールの数に応じて増やすことができます。
画像協力: Vive Studios

AR Player

AR Player は、カメラの動きの情報を外部のトラッキング デバイスから受け取り、その情報を CG に適用します。さらに、その映像がリアルタイムに現実のカメラ映像と合成されます。このプロセスでは、合成方式またはレンズの歪みのキャリブレーション機能は、トラッキング デバイスの通信プロトコル方式に依存します。V2Xr は、Stype の通信プロトコルとユニバーサル プロトコルの FreeD に対応しています。Stype のプロトコルについては、合成とレンズのキャリブレーションが Stype の Unreal Engine プラグインを通じて適用されます。一方、FreeD プロトコルによる合成およびレンズのキャリブレーションは、Unreal Engine の Composure プラグインに依拠します。 

映像合成とレンズの歪みのキャリブレーション

トラッキング デバイスに Unreal Engine プラグインがない場合や、カスタムの機能が必要な場合は、FreeD プロトコルを使うことによって、カメラのステータス情報を受け取り、合成機能の直接的な実装に利用することができます。レンズの歪みに関するキャリブレーションも必要な機能です。この機能では、Unreal Engine に同梱されている Lens Distortion プラグインと Composure プラグインがリアルタイム AR 合成に必要不可欠です。
画像協力: Vive Studios
キャリブレーションのデータを使用してレンズの歪みを修正する
画像協力: Vive Studios
キャリブレーションのデータを使用してレンズの歪みを修正する
AR 合成の際にレンズの歪みを効果的に修正できるキャリブレーションの方式を確保することは、非常に重要ですが、その実現は簡単ではありません。特に、B4 マウントの放送用レンズについてはそうです。その場合、カメラ アングルはズームによって大幅に変わり、際立ったレンズの歪みが生じます (特に、視野が広い場合)。焦点位置も歪みの出現に影響するので、さまざまなキャリブレーション データを収集しなければならず、適切なキャリブレーション値が映像合成時に適用されるようにする必要があります。そのために、AR Player では、Lens Distortion プラグインが利用されることによって、歪みのキャリブレーション値を各フレームで適用できるレンダーターゲットが作成されます。また、Composure プラグインでは、作成された像がベースとなり、カメラ映像の UV が変更されることによって、歪みが修正されることになります。
画像協力: Vive Studios

CG の色補正

AR のセットでは、CG をその周りに溶け込ませる色調補正機能が非常に重要なものとなります。シームレスで自然な合成を容易にするためには、現実のライティングにおける概念上の方向性によって、バーチャルな映像にとって最適な色調が決定されるべきです。そのため、Vive Studios は、ある機能を開発しました。これは、各フレームに含まれている色調情報を読み取り、Unreal Engine で利用できる基本的なポストプロセスのオプション (ホワイトバランスやガンマ、露出など) を即座に調整できるようにするものです。この機能が使用されると、キーが LiveComp のタイムライン上に作成されて、リアルタイムで Unreal Engine 内の色情報を適用できるようになります。この機能によって Vive Studios は、現場における色の問題に簡単に対応できるようになりました。
 
画像協力: Vive Studios
LiveComp の画像は左側。Unreal Engine ベースの XR Player は右側。

SC Player

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 のカメラは、完全に同期し、完璧に一体化して動くようになります。
画像協力: Vive Studios
リアルタイムに送信されるデータ (焦点距離/絞り/フォーカス距離など) がカメラに適用される (位置とアングルは除く)。
画像協力: Vive Studios
Interpolation (補間) 関数によって、位置とアングルのデータがスムーズに適用される。

バーチャル LED ウォール ディスプレイ

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 が精力的に活用し、それらをしっかりとした土台にすることができたからです。必要に応じて追加機能を迅速に開発/テストし、そのプロセスを繰り返すことによって、成果を出すことができたのです。 

最終的に、Vive Studios は AR プレミア ライブストリームを通じて、AR/VR のソリューション サービスを世界中のカスタマーに向けて提供することができました。彼らは、一流のテクノロジーを、経験豊かなコンピュータ グラフィックス デザイナーたちと AR/VR の研究開発に携わるエンジニアたちの助けを借りて実現することができました。さらに、このテクノロジーを新たな高みへと推進させることもできたのです。Unreal Engine は、さまざまな分野で利用されているため、あらゆるタイプの産業のイベントと展示をストリーミング配信するサービスを提供し、その質を向上させるチャンスをもたらす素晴らしい経験であることが証明されました。Unreal Engine は、Vive Studios が今後もイノベーションを推し進めるときの土台として役に立つことでしょう。 

このプロジェクト、ならびに、Vive Studios のクリエイティブなソリューションについてもっと詳しく知りたい方は、vivestudios.com に訪れてください。

    Unreal は、VR / AR 体験を支えています。詳しい情報を知りたい場合は、VR/AR のハブを訪れてください。