【CEDEC2016】シン・ゴジラ/乃木坂 VRから学ぶノンゲームVRコンテンツ制作時の注意点

8月24日に開催された『CEDEC 2016』では、株式会社ソニー・インタラクティブエンタテイメントの秋山賢成氏が、「ノンゲームコンテンツ Making : PlayStationⓇVR ノンゲームコンテンツの制作事例」というセッションにて、『乃木坂46 VRホラーハウス』と『シン・ゴジラスペシャルデモコンテンツ for PlayStation VR』から得られた、ノンゲームコンテンツの制作の注意点を紹介しました。

image12

『乃木坂46 VRホラーハウス』から見る実写360度映像体験の3Dオーディオ

PlayStation VR(PSVR)の特徴の一つとして3Dオーディオがあります。3Dオーディオには指向性と距離感があり、上下左右、四方八方から音が聴こえることで、実際に「後ろから声が聞こえた!」というような臨場感を増す演出をすることができるようになっています。
image19

PSVRの3Dオーディオを使う場合、モノラルの点音源データ・音源を流す座標情報・流す音量の3つを使って音を表現しています。目の前で聞こえる音と遠くで聞こえる音は同じ音源データであっても、座標情報や音量の数値調整で表現することが可能となっています。そのため、音に距離感や音量などを考えて録音する必要はなく、できるだけその音のみの音声データが望ましいとされています。

『乃木坂46 VRホラーハウス』は実写の360度ホラー体験。必要な音声データはそれぞれの音ごとに集音されてありました。それぞれに発音タイミングと方向を記した”指示書”に基づきVR空間内に3Dオーディオを設置したとのこと。
image16
しかしながら、「指示書通りにやっているつもりが、微妙に絵と音がほんの少し合わないケースが多発してしまった」と秋山氏。

「コンマ数秒の違いではあったが、特に口パクなどの違和感が多く発生してしまいました。PS4と制作をするPC側との間で微妙な時間の差がズレを生んでしまい、結果として登場人物が口パクをしているように見えてしまうという違和感が生まれてしまいました」。

最終的には時計をムービー側に揃え、レイテンシ(遅延)を考慮して合わせるようにしたとのことでしたが、指示書で作成する流れが一番賢い制作方法なのかどうかについては、疑問を持っているとのこと。もっと最適な方法を模索していく必要があると感じたと述べていました。

『シン・ゴジラVR』で得られた「どのようなVRコンテンツを作るのか」

制作前のVRコンテンツのイメージを共有するために

続いて、秋山氏は『シン・ゴジラスペシャルデモコンテンツ for PlayStation VR』(シン・ゴジラVR)の制作について詳細な紹介を行いました。

今まで映像制作の現場で使われてきたカット割りや構図という概念はVRには存在しません。制作者が見て欲しいポイントをVR体験者がしっかり見てくれるとは限らず、VR体験者はどこを見るかわからないため、既存の映像制作の流れでVR映像コンテンツ制作を進めることはできません。

通常、映像はシナリオをベースにディレクターの「見せたいもの=カット」を積んでいく絵コンテを作成し、それを設計図に制作していきます。制作者の意図をダイレクトに伝えることができるような仕組みになっていますが、VRでは「VR=視聴者主観」のため、いわゆる”カットを積む”といったことができなくなります。

このコンテンツ開発にあたって、今回最初に着手したのは、「VR化するにあたりゴジラの魅力をどこに持っていくべきなのか」という議論をすることだったと秋山氏は言いました。そこで出てきたコンセプトが、”シン・ゴジラはゴジラ史上最大のサイズ”というポイント。VRではその迫力やボリューム感を表現しようという方針になったとのこと。

まずは「迫力やボリューム感を演出するためにやること=イベント」を、シナリオとして何秒後に何をするのかというのを文字起こしした”字コンテ”を作成し、これを設計図としました。
image18
(実際のシン・ゴジラVRの開発に制作された字コンテ)

絵コンテがなかったため、制作をするアニメーションスタッフへ絵コンテに変わる明確な指示出しが必要だったと言います。シン・ゴジラ VRの舞台は東京駅の前だったこともあり、東京駅の前をGoogle ストリートビューで表示させ、それに絵を書く形でメンバーと共有をしたとのこと。

image15
(実際に使われたGoogle マップ ストリートビューに描かれたシン・ゴジラの尻尾)

さらに、ゴジラの商標を持っている東宝株式会社と関係者の間では、簡単にCGの動きなどを映像化したプリビズ動画を作って、コンテンツの確認が行われました。
image09
(関係者で確認に使われたプリビズ動画)

どのようなコンテンツを作る必要があるのか、チーム内でしっかりと共有をすることがVRコンテンツでは難しいとのこと。チーム内で同じVR空間のイメージを共有することは難しく、動画やGoogleストリートビューを用いた写真・タイムラインを書き表した字コンテなどを使って、チーム内の共通認識を取ることが大事だと秋山氏は紹介しました。

最適化の戦い 映画コンテンツを60fpsに収め、実現する

VRコンテンツを楽しむためには、開発時点でフレームレートを保つ(60fpsを崩してはいけない、つまり16ms(ミリ秒)以内ですべての処理を完了する)コンテンツにすることが必須となります。

※編集注 60fpsで開発を行ったVRコンテンツは体験時にPSVRの機能により120fpsでの体験となります。

『シン・ゴジラVR』では、映画で使われたポリゴンを元にしたCGモデルが使用されています。映画で使用されたモデルをそのまま、ゲームエンジンであるUnreal Engine4で再現させると、初期状態ではGPU負荷が高く、40ms(24fps)程度しか出ておらず、快適なフレームレート60fpsからは程遠い状態でした。
image08

負荷のかかっているところを詳しく分析すると、約650万ポリゴンをGPUに投入しており、ジオメトリ描画を行うパスの負担だけで24msを超えてしまっていたとのこと。頂点数、ポリゴン数がかなり多いために、高負担になっていたことが分かります。

image01
image04

1回目の最適化 ポリゴンの現象へ

シン・ゴジラVRでは、ゴジラ以外にも実際に使われた映画のアセットをそのまま持ってきたため、体験者から遠くにあるちょっとしたオブジェクトまで細かく作りこまれていたとのこと。 VRでは体験者は動けないという点を利用し、遠くにあるオブジェクトは”ハリボテでも大丈夫”ということで、まずポリゴンを減少させて1回目の最適化を行いました。

また、ジオメトリ負荷の高い場合に行うEarly Z-Pass(Pre Depth)を明示的に無効に指定した方が性能的に有利になるので、Early Z-Pass(Pre Depth)を明示的に無効にすることの二点を中心に行ったとのこと。

image14

その結果、650万ポリゴンあったものが340万ポリゴンに減少、Early Z-Pass(Pre Depth)をカットしたことによりジオメトリ関連処理を10ms以上最適化し20msにまで下げることに成功しました。しかしながら、ジオメトリの処理だけでまだ10msと、全体の半分の負荷がジオメトリにかかってしまっているため、更なるジオメトリの最適化を行う必要がありました。

image07

2回目の最適化 密度の細かいパーツを単純

続いて行ったのが、東京駅と瓦礫のポリゴンの最適化です。東京駅の最適化では東京駅単体を描くだけで、2.5ms以上の負荷がかかっていることがわかり、できるだけ単純化する作業を行いました。

image00
(初期の東京駅周辺のポリゴン)
image05
(最終的な東京駅周辺のポリゴン)

また、瓦礫や屋根の飾りなど、ほとんどピクセルを生成しない、非常に密度の細かいパーツや岩をはじめとするパーツの最適化も行いました。中には、鉄筋コンクリートから針金が出ているだけで3300ポリゴンがあり、それらの削除を行ったとのことです。

image13

2回目の最適化を行った結果は、ポリゴンを削除した分さらに解像度・クオリティを上げたことによって相殺され、1回目の20msと変わらない結果になりました。
image17

3回目の最適化

さらに3回目の最適化では、SSR(Screen Space Reflections)をカットを行いました。PostEffect内で1.9msを占めていたこの処理ですが、実際の描画結果を確認しても、あまり効果が出ていないことがわかったため、UE4の特徴であるブループリントを使ってr.SSR.Qualityを0とすることでほぼまるごとカットを行いました。

image03

ジオメトリはこの時点で8.4ms。トータルで16msまで持っていくためには、SSRの分を考慮しても、ジオメトリだけでさらに2.5msの削減を行う必要があったため、SSRに加えてジオメトリの大胆な最適化も加えて行いました。

3回目の最適の結果は、ついに13msとなり16ms以内という目標を無事に達成。ポリゴン数は約1/3程度までに最適化、ジオメトリ負担が全体の40%程度になったとのことです。しかし、今度は13msまで落とした結果、16msまでクオリティを高めることができるということで、秋山氏らは4回目となる最適化を続けて行いました。
image10

4回目の最適化 程よい処理負荷までクオリティを上げる

最適化の内容は、ライトが少ない状況なのにTiledDeferredLightingのオーバーヘッドが3msと、かかっていたため、パーティクルにライト属性がついているのを外しても見た目に影響がなかったため外すことにしました。その結果、余ったパワーで解像度の向上に割りあてることでVRのクオリティアップを図ることができたと言います。
image02

4回目の最適化により、最終的には14msで、ポリゴン数は当初の650万ポリゴンの約17%の112万ポリゴンへ。

image06
image11
(最終的なポリゴン数の変遷)

今回秋山氏は、「さまざまな形でシン・ゴジラのコンテンツの最適化を行ったが、すべてのコンテンツでこのような形での最適化ができるのかはわからない」と今回の最適化方法について留意しました。シン・ゴジラ VRではVR体験者が動けないため、見えるところが限られておりこういった思い切った最適化ができたのだと言いいます。

大事なのは、コンテンツに合わせたクオリティとパフォーマンスを考えないといけないとのこと。シン・ゴジラVRでは、シンゴジラの迫力やボリューム感を表現しようというコンセプトの元に最適化を行ったため、迫力やボリューム感を表現する以外のところは割り切ったところもあったそうで、”どのようなVRコンテンツにしたいのか”をしっかりと考えて達成することが大事だと話してセッションを締めくくりました。

CEDEC2016に関する講演レポート、体験記事はこちら

関連記事はこちら

この記事を書いた人

  • image00

    Shunri

    慶應義塾大学在学中の4年生。大学では経済、プログラミング、ビジネス、サービスデザインを中心に学んでいます。思い立ったが吉日!ってな感じで、水泳、サッカー、フットサル、将棋、ボードゲーム、ポーカー、自作パソコン、カメラ、アニメ…今はもちろん”VR”!広く深くを目指して‼

    Mogura VRのライター一覧はこちら
    http://www.moguravr.com/writers/