Oculusが講演で「Rift」のアプリを「Quest」に移植する方法を紹介、比較画像も

 Oculusが2018年9月26日と27日に開催した「Oculus Connect 5」では、新しい一体型VRゴーグル「Quest」が発表された。一体型という点では「Go」寄りの製品だが、6DoF(Degrees of Freedom)に対応しているという点では「Rift」寄りとも言える、ちょうど両者の中間に当たる製品だ。

 その位置付けから、Goからどれだけ性能が向上したかよりも、どれだけRiftに近付けるのかが気になる人が多いだろう。Oculus Connect 5にそのヒントとなる講演があった。「Porting Your App to Project Oculus Quest(アプリをQuestに移植する)」と題した、Gabor Szauer氏のセッションだ。

 表題からも分かる通り、これは開発者向けのセッションだ。ここではRift用に開発したアプリをどう軽量化してQuestで動作可能にするかを解説している。会場でデモも行っているVRゲーム「Dead and Burried」の採用したアプローチを紹介した。

 Riftを動作させるPCは当然高い性能を備えている。そのため、同じプログラムをQuestで実行すると性能が不足してしまう。そこで、Dead and Burriedのチームは描画負荷を減らし、できるだけ映像の品質を維持するように工夫した。

 代表的な工夫が、光の扱いだ。Rift版では光源を設定してリアルタイムで描画していたが、Quest版では「bake(焼き付け)」を行っている。事前に影をテクスチャーとして描画しておき、リアルタイムで描画しないことで見た目への影響を抑えつつ負荷を下げている。下の画面の通り、ぱっと見では違いが分からないが、Riftでは70万ポリゴンと1300Draw Call(ドローコール、描画のためにデータを呼び出す処理)だったものがQuest版では7万5000ポリゴン、33ドローコールとなり、処理が激減している。

 ほかにもオブジェクトやテクスチャーのデータをまとめて一気に転送するとドローコール数が減らせる、テクスチャーをASTC方式で圧縮するとデータ容量が10分の1以下にできるといった方法で、シーン内の描画を軽くしていったという。

 そうしてできあがったQuest版とオリジナルのRift版の違いは以下の画像の通りだ。共にスムーズに動作しており、Quest版が見劣りする印象は受けない。動作している様子は上記動画の9分5秒辺りから確認できる。

 描画処理の性能面では、Questは高性能PCと組み合わせて動作するRiftに及ばない。そのため同じ体験を作り出すには相応の工夫が必要になる。ただ、反対に言うと工夫次第でRiftに近い体験が生み出せるということでもある。開発者にとっては、腕の振るいがいのあるプラットフォームになるのではないだろうか。

Reported by 宮川泰明(SPOOL