ニュース

PlayStation VRの巧妙な最適化技法が明らかに!

SCE London Studio講演に見るVRゲーム開発のノウハウ

3月14日〜18日開催

会場:San Francisco Moscone Convention Center

講演を行なったSCE London StudioのJames Answer氏

 GDC2016の初日、VR専門トラックVRDCの中でPlayStation VR対応タイトルを開発するSCE London Studioによる講演が行なわれ、数々のVRタイトルを実現してきた開発ノウハウが披露された。

 SCE London Studioは、SCEワールドワイドスタジオ傘下のPSVRファーストパーティで、これまで深海体験「Into the Deep」、スケートボードアクション「VR Luge」、ガンアクション「The London Heist」といったVRタイトルをPSVR向けに発表してきている。現在も新たなVRタイトルの開発を進めていると見られ、PSVR向けのゲームデベロッパーとして注目すべきスタジオのひとつだ。

試行錯誤のベースはPS4/PC両対応の独自エンジン「LSSDK」

PS4/PC両対応の新エンジン
PS4/PCをスムーズに行き来できるよう工夫してあるという
Maya上でゲーム内シーンを忠実にプレビュー

 講演を行なったSCE London Studioの主席テクニカルアーティストJames Answer氏によれば、最も初期にPSVR向けのゲーム開発を始めたスタジオとして重視したのは「開発の柔軟性とスピード」だという。PSVRはまだ誰も見たことのないプラットフォームで、たくさんの試行錯誤が必要になることを予期していたわけだ。

 そこでLondon Studioでは、LSSDKという独自のゲームエンジン・開発フレームワークを用意。VRゲーム開発のために新エンジンを用意するというのも流石というほかないが、このエンジン自体は何か特定の機能に特化するというより、どのような機能を実装すべきかまだわからない段階で設計されたエンジンであるというところに特徴がある。

 LSSDKではターゲット機であるPS4と、開発機であるWindows上をスムーズに行き来できるように工夫されている。コンテンツデザインには全面的にMayaを用いた。ゲーム内と同等のシェーダーがすべて動作するよう調整されており、Maya上でオーサリング作業のほとんどを完結できるというのがポイントだ。

 London Studioではこのような内製エンジンを用意することで、コンテンツ開発そのものと同じくらいに、高性能のVRゲームを実現するための各種テクニックを試行錯誤しながら開発することを重視。そこで開発された技術が他のVRコンテンツでも活用される可能性が高い(PSVRのSDKそのものに反映されることもあるはずだ)ことを前提に、プログラムコードやシェーダーレベル、ワークフロー自体を必要に応じてどんどんカスタマイズできるようにしたわけだ。

 このエンジンを用いて開発されたコンテンツは、それぞれに開発上のユニークなテーマがある。2014年のGDCで初披露されたVRデモ「Into The Deep」では、海中における物理的に正しい光の散乱や減衰、水面・水中における光の屈折等の表現に挑戦した。

 2014年のE3で初披露された「VR Luge」では、局所的な反射を表現するキューブマップや、大気シミュレーションに基づく天球描画を搭載。これに続いて、特に映像的な部分で多くのチャレンジを行ったのが「The London Heist」だ。

深海の表現に挑戦した「Into The Deep」
開放感のある環境を描写した「VR Ludge」

VRゲーム最高峰の最適化技法が投入された「The London Heist」

環境とキャラクターを高品位に描写した「The London Heist」
試行錯誤の結果Lightfieldというライティング技法を採用
Lightfield。二次反射や相互反射が表現できる高速な大域照明技法

 「The London Heist」では映像品質を高めるために非常に多くの工夫が施されており、通常の解像度である1080pに比べて1.2倍から1.3倍の解像度でのレンダリングを行なっているほか、テンポラルアンチエイリアスによる更なる画質の向上、そして60fps〜120fpsへのリプロジェクションといった様々な表現が投入されている。これによって前2つのデモに比べてひとまわりも二回りも高品位な映像を実現した。

 PS4の限りある性能の中でこれを実現するため、効果が大きく汎用性も高いグラフィックス技術が複数投入されているのがポイントだ。

 ひとつは、Lightfieldと呼ばれるライティングのテクニック。これはボクセルベースのリアルタイム大局照明技法で、光の散乱や二次反射といった複雑なライティング効果を表現できる上、処理も高速だというのが大きなメリット。

 一般的なライトマップ技法に比べてライティングの解像度が格段に低くなってしまうという弱点もあるが、長大な時間を要するプリプロセスが不要で、試行錯誤を素早く繰り返せるという利点がVRコンテンツ開発にとって非常に有利だったという。そういうわけで「The London Heist」では、このテクニックが採用された。

Lightfieldなし
Lightfieldあり

中央部に高い解像度を確保したいが、視野の端は潰れてしまうため予め低い解像度で描画したい
複数解像度で描画する一般的な方法。複数回の描画が必要でCPU負荷が高まる
マスクテクスチャを用いて段階的に描画ピクセルを減らす方法を採用した

 もうひとつ、「The London Heist」の画質を実現する上で大きな効果を発揮したのが、VRならではの描画ピクセルの削減法だ。

 これは、基本的な考え方としては、視野の中央をフル解像度で描きつつ、視野の端の部分は低解像度で描画するというテクニック。1つのやり方としては画面を複数のビューポートに分割し、それぞれを異なる解像度で描画したうえで合成するという方法があるが、この方法ではレンダリング回数が増えてしまい、CPU負荷が高まるため不採用となった。

 そこで採られたもう1つの手法が天才的だ。この「Resolution Gradient」という手法では、視野の中央から端に向かって次第に濃くなっていく形で、描画ピクセルのマスクを配置する。レンダリング自体は画面全体でフル解像度で行なうが、マスクされたピクセルについては描画処理をスキップ。これによりたった1度の描画で、複数解像度のレンダリングができてしまう。効果的にGPU負荷だけを抑える、非常に優れた手法だ。

 この時に用いられるマスク用のテクスチャは、フレームごとに異なるピクセルをマスクするようにアニメーションしており、その結果を時間方向でブレンドしていくことによって、描画ピクセルを減らすことによるギザギザ感を低減しているそうだ。こういった高品質化処理のために多少のGPU負荷がかかるが、それでも全体では25%のGPU負荷の削減となり、コンテンツ全体のパフォーマンスを大きく向上させることに成功している。

ピクセルマスクのパターンをフレームごとに変えることで時間軸方向の解像度を向上
アンチエイリアスをかけることでジャギを目立たなくする。これでもGPU負荷は25%削減

 このような最適化技法は「The London Heist」に限らず、様々なVRコンテンツで応用可能なはずだ。あるいはPSVR用SDKの共通機能として、エンジンレベルで広くサードパーティにも提供される技術になるかもしれない。

 性能が固定されたPS4というプラットフォームだからこそ、こういった工夫たっぷりの最適化とパフォーマンス向上はさらに続いていくはずだ。この先、ユーザーの誰もが驚くような高品質コンテンツが続々登場してくることを、PSVRには期待していきたい。

(佐藤カフジ)