VR開発者による濃密なLTが連続した「VR Tech Tokyo #2」レポート
Epic社員が激白!?「あえて言う,今UE4でVR開発をしない理由(とその対策)」
しかし,今回登壇したエピック・ゲームズ・ジャパンの篠山範明氏は,「今UE4でVR開発をしない理由」という異例のタイトルで登壇を行った。
篠山氏はエピック・ゲームズ・ジャパンのサポートエンジニアだ。「UE4でVR開発をしない」という大胆なタイトルにした理由としては,現状のUE4が「ディファードレンダリング(Defferred Rendering)」という描画手法を採用していることに起因するという。
ディファードレンダリングの詳しい技術的側面ついては省略するが,ゲーム内にライトをたくさん置くことができ,また豊富なポストプロセスをかけることができるなど,多くの利点がある。そのため最近のゲームでは多く採用されているが,残念ながら,VRにおいてはこれらの長所があまり生かせないのだそうだ。
そして大きな弱点として,描画結果のジャギーの除去で一般的な「MSAA」というアンチエイリアシング手法を使うことができない。UE4はこうした状況のため,どうしてもVRに向けて全力を出すことが難しい状況なのだそうだ。
続いて篠山氏は,今のUE4のバージョンでも使える代替策を紹介した。UE4ではMSAAが使えない代わりに,FXAAとTemporal AAというアンチエイリアシングが利用できる。通常のゲーム開発でもTemporal AAが好んで使われるようだが,この場合は物体ディテールが見づらくなり,全体的にぼんやりした絵になってしまう。
考え方としては,わざとテクスチャクオリティを高く保つことでぼやけ感を減らそう,というものだ。しかし,ポリゴンのバウンダリに起因するジャギーはテクスチャと関係がないため,この改善策が効かない。
苦肉の策としてSuper Sample AAという手法も紹介されたが,これは「高解像度で描画する」ことで実現されるものであるため,処理が重く現実的ではないのだそうだ。最終的に現在の最善策としては,モデリングの時点から,ポリゴンでディテールを出すのではなく,テクスチャでなるべくディテールを出していくやり方が適しているという。
このUE4 Forward Rendering for VRは名前のとおり,単なるForward Renderingではなく,VRコンテンツに使われることが前提のレンダリングモードだ。これによって上記の問題は一気に解決しそうである。「今UE4でVR開発をしない」というタイトルで少々ドキッとさせられたが,真意としては「もうちょっと待っててね」という意味合いだったようだ。
この最新の描画モードはgithubではすでにコードがダウンロードできる状態になっているそうなので,早く試したい人はそちらから入手することをオススメする。
VR開発しくじり先生!特攻でVRコンテンツを作ろうとして得られたノウハウ
登壇者の荻野雄季氏はCROOZでPCゲームの開発に携わる傍ら,VR方面ではゲームジャムやハッカソンで活動しているゲーム開発者だ。
萩野氏は6月18日に行われた「Japan VR Hackathon 2016」に参加し,「桜花乱布」というタイトルで開発した。が,使用する開発環境にUE4を選んだにも関わらず。5人中5人がUE4初心者で,VR開発初心者も5人中4人と苦しい中でのスタートで,案の定「しくじり」をしてしまったのだという。
まず,ハッカソンやゲームジャムにありがちな罠として「会場提供のPCを過信しないように」というポイントが挙げられた。会場で配備されたデスクトップPCの性能面は十分であったものの,UE4,Steam VR,Visual Studioなどの開発に必須な環境(しかもダウンロード容量がでかい)が入っていなかったそうだ。そして,時間が限られているハッカソンの中でセットアップに4時間も取られてしまった。
VRコンテンツの開発には高い性能のPCが必要になるため,ゲームジャムの場ではこうしたレンタルサービスを利用することも多いだろう。しかし不測の事態もある。最善の策は,普段から慣れている開発環境を持って行ったほうが確実だ。
もう一つハマった罠として,終了間際の調整段階で「VR ベストプラクティス」の手順を実行してしまったことを紹介した(Unreal Engine 仮想現実 (VR) のベスト プラクティス:参考URL)
ここで紹介されているInstanced Stereoレンダリングを利用する場合は,UE4のエディタを再起動してシェーダを再コンパイルする必要がある。
実はこれにかなり時間がかかってしまうのだが,運の悪いことに,この手順をイベント終了2時間前にやり始めてしまったのだそうだ。案の定,何もできなくなってしまい,大きな時間ロスになってしまったのだという。荻野氏は,プロジェクトを作ったすぐあとにVRベストプラクティスを導入するべきだと話した。これはエンジンにかかわらず重要なポイントだろう。
細かいポイントで言うと,UE4においてVRの設定を使ったプロジェクトは「Execute Console Command」ノードで「Stereo On」にする必要がある。こうしないとヘッドマウントディスプレイ(HMD)で描画されないためだ。ぶっつけ本番だったゆえ,こうした事前に必要な設定を飛ばしてしまい,原因が分からず大変な思いをしたそうだ。
荻野氏はPCのソーシャルタイトルを開発している経験を活かそうとしたものの,それらのテクニックがVRで通用しなかったことにも苦労したそうだ。
桜花乱布のゲーム内の移動は,よくあるワープ方式をとっている。このワープ地点の指定方法を考えた際,「地面に丸いマークを出しておけばプレイヤーは気がつくだろう」と考えて実装したところ,思ったように機能しなかったのだそうだ。
HMDを被った状態では,プレイヤーはほとんど地面を見ることはなく,水平線方向を見ながらプレイしていることがほとんどだ。そのため,地面にマークを出していても気づかれなかったとのことだ。
また,いわゆるゲーム的な破壊表現が通用しないことも判明した。2Dのゲームによくある,キャラクターの絵の上にエフェクトをかぶせて破壊を表現するような手法を試したところ,VR空間内では現実の挙動とかけ離れてしまったことで,強い違和感が生まれてしまったという。そして,せっかく「刀で布を切る」という爽快感が出せそうだったのに,現実と違う挙動にしてしまったことで,題材のよさをふいにしてしまったのだという。
荻野氏が,うまくいったパターンとして紹介したのが,同じく「Japan VR Hackathon 2016」で開発された「HAJIKI」というタイトルだ。こちらは刀で手裏剣を弾くタイトルになっており,現実にありそうな物理挙動をするため,爽快感のあるゲームデザインになっているのだそうだ。
荻野氏が伝えたかったことは,とにかく「VR開発を侮ってはいけない!」ということだ。ゲームの開発経験があるから同じようなものだろうと考えてはいけないそうだ。
しかし,VRであれ何であれ,開発でしくじっていしまうのは常に起きることである。今のうちに早めにVR開発に挑戦してたくさんしくじり,経験を溜めておこうと呼びかけていた。
VRタイトルにおけるレベルデザインとは?
金氏は,FPSゲームにおけるレベルデザインの考察から,VRコンテンツへの応用について紹介を行った。
また,プレイヤーに「やらされている感」を与えずに誘導するための工夫については,「アイテムや敵を道なりに置いて誘導する」「明るいところへ向かう習性を利用する」などの手法も紹介していた。あたかもプレイヤーが自分で選んだかのように移動させる演出で,制作側の意図がバレないように注意を払う必要がある。
さて,FPSのこのレベルデザインを,VRコンテンツに置き換えてみた場合はどうたろう。基本的には同じアプローチをとることができるが,プレイヤーが起こすアクションは大きく異なるという。
VRコンテンツではプレイヤーの視線を誘導することが難しい。あらゆる場面において,プレイヤーが360度どこを向くか分からないからだ。例えば,前方でキャラクターが会話するイベントが起きていたとしても,ぜんぜん違う方向を見ていることも考えられる。それに対しては,現実と同じように隣の人に声をかけられるたり,肩を叩かれる,といったような演出によって「なんだ?」とプレイヤーを向かせることができるそうだ。
金氏はVR Zoneで体験できる「アーガイルシフト」を例に取り,ゲーム内でもHMDを被る演出を入れることで,それを回避する手法を入れるやり方について触れた。映像としても現実にも存在しそうな世界から,完全なSF空間に入るようなアプローチができれば違和感は減るだろう,とのことだ。また,こうした現実と非現実の感覚は,自分で開発しているとその感覚が薄れてしまうので,必ず10人以上のテストプレイが必要だという。
LTの終わりに金氏は,VRコンテンツ開発者は,「そのタイトルをなぜVRで作りたいのか? という必要性に立ち返るべし」と述べた。例えば「見渡したくなるシチュエーション」を作る,「壁や床にヒントがある」など,VRならではの要素が生きるゲームシステムにするべきとのことだ。
『ガンナーオブドラグーン』開発の方針
本作品は2014年11月から展示を開始し,1年半ほどでアテンドした人数は述べ1000人を超えた。最近になって,BitSummit 4thでは「セレンディピティアワード」を受賞し,翌週のUnity VR Expo Akibaでは「プレイヤーチョイスアワード」を受賞するなど,大きく脚光を浴びるようになった。開発はVRエンジニアの野生の男(ハンドルネーム)氏がほぼ一人で手がけている。
ガンナーオブドラグーンは,一言で言えばドラゴンに乗って敵を撃つVRゲームだ。プレイヤーは馬の背のように動く健康器具JOVAに乗り,右手に持ったHTC Viveのコントローラで敵を撃つ。前方からはサーキュレーターで風を送り,ドラゴンにまたがって空を飛んでいるかのような感覚をプレイヤーに与えることができる。
野生氏は,このタイトルの開発を背景として,VR展示会におけるコンテンツ開発のあり方について考えを述べた。
まず野生氏が主張したのは,「VRデモは誰もが楽しめるべき」という考え方だ。現在はVRの黎明期だ。初めてVRに触れた人が,「VRやったけど,面白くなかった」という感想を持たれてしまうことが,なにより最悪のケースと考えているそうだ。
ガンナーオブドラグーンでは,難度はかなり下げて「接待プレイ」に近い設定をしているとのことだった。基本はシューティングゲームだが,デスペナルティをなくし,敵の出現を3Dサウンドで分かりやすくして,敵の当たり判定は大きめにする。Epic GamesのBullet Trainも,弾が当たりやすいように当たり判定が大きめに作られているそうだ。
操作が分かりにくかったり,プレイヤー同士が対戦プレイするゲームで一方的に負けてしまったりすると,「VRそのもの」に対してネガティブな印象を持たれてしまう。野生氏によれば,現在のVRイベントでも「今回がVR体験初めて」という人はまだまだ多いそうだ。
現在は「ハードコアVRゲーマー」という存在はいないため,VRゲームを難しめに作ってしまうのはもったいないとのことだ。今は誰でも楽しめる体験としてデザインし,プレイヤーの実力や運で差が出て,VR体験そのものに不快感を残さないことを第一にしてほしいと述べた。
ただし,この接待プレイ方針は,あくまで展示会に向いた考え方なのだそうだ。課金によるアーケードでの稼働や,家庭用のVRコンテンツの場合は,何度でも再挑戦したくなるようなゲームにするべきかもしれないとのことだ。
そして,本タイトルの酔い対策についても紹介された。野生氏は,ハードウェア起因の酔いに関しては,HMDの性能向上に伴ってほとんど無視できるようになってきており,酔いの9割9部ソフトウェア起因だと考えているそうだ。
大前提としてフレームレートを高く安定させるため,とにかく処理を軽くすることが大事である。本タイトルの場合は,ゲームそのものを軽量に作っている。また,ゲーム内の移動は前方に強制スクロールする形を取り,画面エフェクトとして集中線を出すことで,プレイヤーに前に進んでいる感覚を持ってもらうように作っているそうだ。
驚きを与えるためにカメラワークをむやみに動かすのはご法度だ。野生氏は,企画の段階でベクション(視覚情報からプレイヤーへ移動しているような感覚を与えること)を考慮して,そこから酔いを生じないような設計が必要だとした。本タイトルでは画面エフェクトのほか,JOVAでプレイヤーの体を実際に動かす,サーキュレータで風を当てるなどして,前に進んでいる身体感覚を増やしている。
最後に,ガンナーオブドラグーンは現在展示専用だが,今後は配信に向けてアップデートをしていくとの予告があった。非常に楽しみだ。
技術者同士の交流と知見共有を目的としたVR Tech Tokyo
「VR Tech Tokyo」は,ドリコムのサービス推進部である西丸隼人氏が,自身のVRコンテンツへの興味から企画し,運営しているイベントだ。西丸氏はVRの開発者ではないそうだが,カジュアルにVRの情報交換ができる場が必要だという理念のもと,有志で運営している活発な場所である。現在は2016年8月に第3回目の企画を行っているそうなので,自作のVRコンテンツのクオリティを高めたいと考えている開発者は,参加してみてはいかがだろうか。