「UNREAL FEST 2016」開催,VR ZONEアトラクションの臨場感や迫力はどのように作られたのか?

「UNREAL FEST 2016」開催,VR ZONEアトラクションの臨場感や迫力はどのように作られたのか?
 2016年10月1日,神奈川県・パシフィコ横浜で開催された「UNREAL FEST 2016 YOKOHAMA」では,Unreal Engine 4を用いた事例紹介を中心に多くのセッションが行われた。そのうちの一つがバンダイナムコスタジオによる「VR ZONE Project i Can制作事例」だ。
 VR ZONEはVR(仮想現実)を使用した実験的なアトラクション群だが,今回は「脱出病棟Ω」「Max Voltage」の2作品について,主にビジュアルアーティスト,テクニカルアーティスト向けの講演が行われた。講師はバンダイナムコスタジオの川上弘高氏内藤 亮氏荒木琢也氏山本益実氏の4名だ。

左より,バンダイナムコスタジオ ビジュアルアーティスト 荒木琢也氏,ビジュアルアーティスト 内藤 亮氏,プログラマ 山本益実氏,テクニカルアーティスト川上弘高氏


脱出病棟Ωはこう作られた


「UNREAL FEST 2016」開催,VR ZONEアトラクションの臨場感や迫力はどのように作られたのか?
 まずは脱出病棟Ωのビジュアル制作についてが語られた。
 さて,脱出病棟ΩはホラーもののVRアドベンチャーゲームである。プレイヤーは電動車椅子に乗って,右手には懐中電灯を手に暗い病院内を進んでいく。マルチプレイヤー仕様でボイスチャットを使用して,協力しながら脱出を図れるというゲームデザインだ。
 基本的な部分については,1か月半ほどで導入が終わり,順調に開発は進んだようだ。マルチプレイヤー対応にして,ゲームの原型を作ってみたところ問題が発生した。あまり怖くないのである。そこで怖さ優先で再調整した結果,「ちょうどいい感じ」(一部では「怖すぎる」と言われているが)のアトラクションに仕上がったわけだ。

「UNREAL FEST 2016」開催,VR ZONEアトラクションの臨場感や迫力はどのように作られたのか?
 脱出病棟ΩではViveが採用されているが,ルームスケールをサポートするViveでも病院丸ごとのような広い空間内を移動することはできない。また主に酔い的な面で,プレイヤーにあまり動き回らせるのも得策ではない。とはいえ,場所の移動がないのもイヤだということで,このゲームには車椅子が採用されている。乗り物に乗っての移動は酔いも少なめで,車椅子なら行動の自由度も制限できる。移動は基本的に前後のみで,レールで移動するようにコーナーでは自動的に向きを変えるというシンプルな仕様となっている。
 ゲームを作っていく過程で,ホラーものなので怖さを出すために先の見えないブラインドコーナーを多用するようになり,その結果マップが曲がりくねり,移動すると酔いが多発する……という結果に陥ったという。車椅子に乗っているとはいえ,自動で向きを変えられるのはかなりキツいはずだ。そこで活用されたのが視線誘導だ。マップ内に矢印を設置することで,どっちへ曲がるかというのを予測させることで酔いの発生を防いでいるのだという。

「UNREAL FEST 2016」開催,VR ZONEアトラクションの臨場感や迫力はどのように作られたのか?
「UNREAL FEST 2016」開催,VR ZONEアトラクションの臨場感や迫力はどのように作られたのか?
 このゲームでのエフェクトの中心は血しぶきなどの血の表現だ。血は3Dオブジェクトとして作成され,飛び散るさまがリアルに再現されている。濃い不透明色で自発光する属性を加えて,暗いところでもしっかり見えるように調整されている。

 飛び散ったあとの血はデカールテクスチャで表現されている。したたるさまなどのアニメーションは,マテリアルに関数を組み込んでBlurprintで制御している。そのほか,影になっている部分のデカールがちゃんと出ない問題には,定番的な手法で対処しているほか,異なるトリガーで複数が発動してしまう問題も出たが,Blueprintでそれぞれ変数とマテリアルを複数用意して対応したとのこと。

 ゲーム内で使われるUIについては,最初は音声でガイドしていたとのこと。ただ,プレイしている人が思いのほか音声を聞いてくれないので画面内に文字で表示するようにしてみたものの,VRヘッドセットの解像度の問題もあるのだろうが,テキストでは文字が小さすぎて読みにくいという問題が発生したという。最終的にはできるだけ図によって指示する方向に落ち着いている。
 スライドでは「レバー」の下に「仲間を救え」という細かい文字の表記もあるが,そちらは読めなくてもあまり影響がないようで,説明は抜きで「そこにレバーがあるからそこに行け」と最低限のことが分かるように図を作成しているとのこと。
 キャラクターについては,造形以外の部分ではあまり凝ったことはしていないようだ。全体的に暗いので結構ごまかしも利きそうだが,UE4でのVRプロジェクト自体での経験がないので安全策がとられている。キャラクターの種類ごとにベタで用意しているとのこと。

「UNREAL FEST 2016」開催,VR ZONEアトラクションの臨場感や迫力はどのように作られたのか? 「UNREAL FEST 2016」開催,VR ZONEアトラクションの臨場感や迫力はどのように作られたのか?


Max Voltageでスーパースターになりきるために


「UNREAL FEST 2016」開催,VR ZONEアトラクションの臨場感や迫力はどのように作られたのか?
 続いてMax Voltageの開発について解説が行われた。本作はスーパースターとなって大舞台でバーチャルな観客を前に歌うというライブシミュレーションだ。スーパースターになりきってステージの上から会場を沸かせることが目的となる。マイクで歌うアトラクションでもあり,ゲーム筐体(?)は防音設備の施された小部屋となっている。

 まず,本格的なゲームの制作に先立って,本物のコンサート会場をVRで再現するとどうなるのかを検証するような方向で,ステージ上でのスーパースターの体感を確認するような実験が行われている。

「UNREAL FEST 2016」開催,VR ZONEアトラクションの臨場感や迫力はどのように作られたのか?
「UNREAL FEST 2016」開催,VR ZONEアトラクションの臨場感や迫力はどのように作られたのか?
 環境としては,いかにもな感じのオープンエンドなステージで,客席に正対して歌うという,至極まっとうなコンサート会場が再現された。一応,客は多いほうがいいだろうということで100人程度を配置し,プレイヤーに反応して盛り上がるとモーションを変えるといった仕様のデモだったという。
 しかし,これをVRで体験してみた結果,客席が遠すぎて期待したような臨場感がまったく出なかったという。観客の反応も単純なものだけでは寂しいという結論になったようだ。
 とはいえ,実際のコンサート会場の距離感などはそのままなのだから,VRでもほぼ同じ臨場感は再現できるはずなのだが,武道館に100人だけ入れてコンサートをやったときの侘しさが再現されてしまったのかもしれない。

 とにかくこれでは立体であることのありがたみが感じられないということで,いろいろ検証すると,40cmくらいまで近づくと非常に強い臨場感が得られることが分かり,舞台の構成が大胆に変更された。

「UNREAL FEST 2016」開催,VR ZONEアトラクションの臨場感や迫力はどのように作られたのか?
 プレイヤーを中心に取り囲むように観客が配置され,その距離もぐぐっと近くなった。最初は観客と同じ高さでやっていたそうなのだが,周囲を囲まれると結構怖い感じがするとのことで,最終的には30cmほどの高さの舞台が用意されている。
 これにより,VRでやっている意味が出てきてかなりいい感じになったという。舞台構造が現実的ではないという点が懸念されたというが,そのあたりについてのマイナス評価をする人はおらず,これで大丈夫だろうということになったようだ。現実的ではないとはいっても,張り出し舞台やスラストステージが実際に使われないわけでもない。どちらかというと特殊な小劇場のせり出しを思い起こす人のほうが多いかもしれないが,そこまで入れるとわりと使われている舞台の形式と言えるかもしれない。

「UNREAL FEST 2016」開催,VR ZONEアトラクションの臨場感や迫力はどのように作られたのか?
 次に,観客のリアクションで注目される喜びを表現するという課題についての対応が解説された。具体的には,単に動くだけでなく,プレイヤーの方向への動きを追加し,前列にいる客では表情も付け加えている。プレイヤーが近づくと一生懸命近づくと手を伸ばしてくる熱烈歓迎ぶりで,十分な効果が出ているといえそうだ。表情の追加では,Facewareというソフトでキャプチャしたものを再生しているとのこと。
 また,モデリングされた客以外にも背景として書割の大観衆を用意し,それもアニメーションさせている。

「UNREAL FEST 2016」開催,VR ZONEアトラクションの臨場感や迫力はどのように作られたのか? 「UNREAL FEST 2016」開催,VR ZONEアトラクションの臨場感や迫力はどのように作られたのか?

「UNREAL FEST 2016」開催,VR ZONEアトラクションの臨場感や迫力はどのように作られたのか?
 技術的な部分についても少し解説が行われた。
 本作の音楽演奏ではMIDIデータが使われているとのこと。MIDIデータ内に制御用のデータを埋め込んでおけば,曲の演奏状況と同期した演出が可能になるので,それを使ってライトの制御や歌詞の表示を行っているという。バンダイナムコ社内にMIDIのパーサーがあったので,それをUnreal Engine 4のプラグイン化してBlueprintで使えるようにしたところ,かなり使い勝手がよくなったようだ。おそらくゲーム用の便利なライブラリなどは各社にたくさんあるだろう。そういったものも少し加工を施すだけで,Blueprint上で制御できるようになる可能性が高いわけだ。壇上からは「社内資産を活用しましょう」と呼びかけていた。

 Max Voltageでは大勢の観客を表示するわけだが,基本的なメッシュは男女合わせて16種類用意しているという。アニメーションで使うSkeleton構造は同一にしたいと考えていたそうなのだが,懸念点が2つあったという。まず,前列と後ろの列ではボーンの数が違うことだ。Skeleton構造がまったく同じでないとアニメーションをうまく適用できないのではないかと心配していたが,やってみるとまったく問題がなかったとのこと。
 別のセッションでエピック・ゲームズ・ジャパンのロブ・グレイ氏がスケルトンについて「順番が変わるのはダメだけど,付け加えるのはOK」と言っていたので,順番が変わらなければ,減るのも大丈夫なのだろう。
 スケルトンを同一にした場合に,ちょっと困りそうなのが髪型だ。髪はいろいろなものをそれぞれ物理で動かしたかったため,ここではシンプルな解決策が取られた。髪をカツラ式にして頭部のソケットに付ける方式にしたわけだ。
 これも「Skeletonの末端部は違っていてもOK」とのことなので,分離する必要はなかったように思われるが,分離式のほうがバリエーションを作りやすそうなので十分アリな気はする。

「UNREAL FEST 2016」開催,VR ZONEアトラクションの臨場感や迫力はどのように作られたのか? 「UNREAL FEST 2016」開催,VR ZONEアトラクションの臨場感や迫力はどのように作られたのか?

 そのほかの工夫としては,演奏中のUIを廃止したことが挙げられた。最初は観客を注視すると盛り上がり度合いを示すバーが頭上に表示される仕様だったとのことだが,実際のライブにない要素は排除することで没入性を高めたのだという。
 また,盛り上がってくると,観客の顔が紅潮したり汗をかくという仕様も取り入れられた。火照り領域のマスクと汗用のNomal,RoughnessパラメータがBlueprintで一括制御されるようになっている。
 同様に,身体が汗をかくことによる衣服の変化なども実装されている。汗をかいた状態の絵がだんだん浮き出てくる感じだ。女性用にはブラジャーのマスクとノーマルデータが追加されている。このあたりは最後の最後に実装したものだそうで,テクスチャの解像度などは確保されておらず,やや無念そうではあった。まあシャツの下の状態なので,高精度である必要はないとは思うが。

「UNREAL FEST 2016」開催,VR ZONEアトラクションの臨場感や迫力はどのように作られたのか? 「UNREAL FEST 2016」開催,VR ZONEアトラクションの臨場感や迫力はどのように作られたのか?

「UNREAL FEST 2016」開催,VR ZONEアトラクションの臨場感や迫力はどのように作られたのか?
 続いて,脱出病棟での「首吊り」についての説明が行われた。車椅子で進んでいると,いきなり上から死体が落ちてくるといった演出で使われる。だいたいプレイヤーの顔をなめるようなタイミングで落ちてきてぶら下がるという凶悪な仕掛けである。ゲームデザイナーからは口頭で適当に「イイ感じにして」と言われただけで,ちゃんとした仕様書もなく,丸投げされた案件をいかに処理したかが語られた。

 基本的には,首吊り死体の動きは物理シミュレーションだけで行われているという。ただ,ラグドール用にデータを変換すると,妙に細かいボーンがたくさんできるそうで,注意を促していた。そのまま動かすと,非常に暴れた挙動になることがあるとのこと。それをムービーで見ると,落ちた途端にあちこちに跳ね回っているように動き回っている。「これが一番怖かったです」とのこと。

「UNREAL FEST 2016」開催,VR ZONEアトラクションの臨場感や迫力はどのように作られたのか? 「UNREAL FEST 2016」開催,VR ZONEアトラクションの臨場感や迫力はどのように作られたのか?

「UNREAL FEST 2016」開催,VR ZONEアトラクションの臨場感や迫力はどのように作られたのか?
 ちなみに,首吊り系のシーンには3種類があり,首吊り,足吊り,ダクトから落ちるというパターンがある。最初の2つはいいのだが,ダクトから落ちる人は,ほかのと挙動が少し違っていて,ガタっと落ちてきても,一度ダクトに引っかかった形でぶら下がる。一度落ちる動きを止めて,さらにもう1回下に落ちるという挙動を示すのだ。
 これを実現するために,一度腰の部分で死体を引っ掛ける処理と,処理中に物理シミュレーションを2階呼ぶといった処理がBlueprintで行われていることが示されていた。

「UNREAL FEST 2016」開催,VR ZONEアトラクションの臨場感や迫力はどのように作られたのか?
 最後にMax Voltageでのパフォーマンスチューニングについてが語られた。VRでフレームレートの確保が重要なことは言うまでもないが,非常に多くのキャラクターを表示するMax Voltageではパフォーマンス問題に悩まされたようだ。
 まず,Unreal Engine 4に搭載されている各種ツールの活用が推奨された。CPUが重いのかGPUが重いのか,どの部分が重いのかなど問題を切り分けていく助けになる。

 Max Voltageでは思いのほかライトが重かったので,ステーショナリー(固定)からスタティック(静的)への変更が行われたほか,どうしても必要な動的なライトでは影を落とさないように設定して負荷を下げている。レンダリングオプションなどは,UE4でVRをやるときの定番があるので,高度なポストプロセスは一切なくし,それでも45fpsくらししか出ず,最終的には観客数をはぼ半分にして90fpsを確保したようだ。
 Unreal Engine 4にまだ慣れていないこともあって非効率的な部分など,反省点はいろいろあったようだが,それでも当初の目的は果たしており,実験的な意味だけでなくVRプロジェクトとして両タイトルは面白い存在といえる。VR Zoneは終わってしまうが,大掛かりなデバイスが必要な脱出病棟はともかくMax Voltageはカラオケ店などで出してもいいのではないだろうか。

「UNREAL FEST 2016」開催,VR ZONEアトラクションの臨場感や迫力はどのように作られたのか? 「UNREAL FEST 2016」開催,VR ZONEアトラクションの臨場感や迫力はどのように作られたのか?