ソニー・インタラクティブエンタテインメントの秋山賢成氏 (写真:日経テクノロジーオンライン)
ソニー・インタラクティブエンタテインメントの秋山賢成氏 (写真:日経テクノロジーオンライン)
[画像のクリックで拡大表示]

 ソニー・インタラクティブエンタテインメント(SIE)ソフトウェアビジネス部 次長 SIEJA制作技術責任者の秋山賢成氏は、VR(仮想現実)用ゲームの開発で注意すべき点や、VRの体験を向上するテクニックについて、「コンピュータエンターテインメントデベロッパーズカンファレンス(CEDEC)2016」で講演した。同氏は最初に、「レイテンシー(入力から実行までの遅延)を発生させないこと、レンダリング(描画)において60フレーム/秒以上を達成すること。これが出来なければ、VRの没入感や実在感が損なわれる」とVRゲーム開発の“鉄則”を語った。

 そのために、CPUやGPUの処理を効率化して、処理をできるだけ多くこなせるようにする「パフォーマンスチューニング」の作業が大切と説いた。講演では、ゲーム内の演算処理を、横軸に時間、縦軸に効率を取り、一つひとつの処理が大小の「ブロック」となって並ぶように図解。「コードがまずくて効率が低いブロックは、プログラマーが気にするところだが、横幅が狭い(時間がかかっていない)なら、全体に大きな影響はないのでそのままにしておく」(秋山氏)など、限られた開発時間の中でどの処理を調整するか、合理的に優先順を決めるべきだと話した。

 処理を効率化する方法は、GPUの描画を例に挙げて説明した。VRの描画は、まず左目用、右目用の画像を作り、光学ゆがみ補正や画像の結合などの処理を施していく。ゆがみ補正を加えることで消せる領域があるので、この部分の描画を省いて効率を上げることができる。具体的には、「ステンシルマスク」を使って不要な部分を切り落とし、残した必要な部分だけ描画する方法や、そもそも有効領域だけカバーする円形のジオメトリを用意してその部分だけを描画する方法などがある。

 さらに、「VR世界の見た目をきれいにしたい場合に、全体を高画質にするのではなく、視野の中心だけ高解像度で描画すれば、周辺部の解像度がそこそこでも、プレーヤーが受ける印象は十分“きれい”になる」(秋山氏)など、不要な処理を行わないことで、効率よく処理を実行できるとした。