イベント
[GDC 2017]「Eagle Flight」が超高速でVR空間を飛ぶために気をつけていること
Autodeskのスポンサードセッションで,非常に広大な都市の上空(だけではないが)を飛び回るゲームだけに,きっと都市の形状データをAlenbicで出力して,詳細度を分けてストリーミングして……みたいな話かと思って出かけたのだが,予想とは異なり,Eagle Flight開発の過程を紹介するとともに,VRで快適にゲームを展開するための同社の方法論をまとめたものとなっていた。
講師はUbisoft MontrealのGame Director,Oliver Palmieri氏だ。氏は,まず同社がVRゲームを作るためにしていた基礎研究としてどんなことを調べていたのかから明らかにしていった。プロジェクトの始まりは2年前だが,すでにその当時で,内耳の構造や目の動き,いわゆる「酔い」の問題,動きの認知など,快適なゲームプレイを実現するための基礎研究に時間を割いていたというのだ。
さまざまな研究の結果,VRで生じる「不快感」の原因を,同社は以下の5点にまとめていた。
1. 視覚と内耳情報の齟齬
ここでいう齟齬には2パターンがある。すなわち視覚は動いていないのに動きを感じる場合(船室など),目では動いているように見えるのに動きがない場合(VRや宇宙など)である。
ちなみに内耳は方向を感じ取る三半規管,重力や加速度を感じる前庭など,特殊な感覚器官が揃った部分である。
そもそも,目と内耳の情報との齟齬が吐き気などを催すのは,毒物に対する防御反応が原因となっているという。本来同期するはずの両者の情報が食い違うというのは,神経毒などで異常が発生していることが原因とも考えられるわけだ。そこで胃の中のものを吐き出すというのは理にかなった行動となる。
2. 映像が不連続な場合
フレームレートが低かったり(ジャダー),滑らかでない動き,いわゆるスタッターが発生していたりすると酔いやすいのはVRではよく知られた事実である。脳が予測した動きと目の前の映像が一瞬食い違うことで不快感が発生する。
3. 近接部が高速で動く場合
相対速度が大きい場合,対象物が近いほど動きが大きく感じられる。実際の速度以上に体感が出てくるというのも,視覚との齟齬の一種といえるのだろう。ものすごい速度で地面が流れていくようなシーンでは,酔いが大きくなりやすい。
4. 加速感が視覚でしか感じられない
最初のものとほぼ同じ内容であるが,加速度が視覚でしか感じられないと,前庭部の情報と齟齬が発生する。
5. 壁などを突き抜ける場合
障害物の多い場所を高速で飛行をしていると,たまにそれらとぶつかってしまうのは避けがたいことだろう。しかし,オブジェクトと衝突が発生した場合でも,ゲーム内ではすり抜けてしまうことも多い。脳は衝突を予想しているのに,スルっと突き抜けると違和感が発生する。
これらを踏まえて同社がどのように対応したのかが,今回のセッションの主眼となる。
プレイヤーの頭の位置と向きを尊重
まず,プレイヤーの頭の位置と向きを尊重する。頭の位置や向きと,ゲーム内を飛ぶワシの位置と向きを一致させるのだ。Eagle Flightで宙返りはできるのかと聞かれることもあるそうなのだが,氏は「できる」と断言していた。プレイヤーがその場でバク転すれば,ゲーム内のワシはちゃんと宙返りをするのだそうだ。
前方への線形で一定のベクション
ベクションというのは「動いてないのに動いている感じ」のことで,基本的にVRではご法度とされているものなのだが,前方への動きは比較的許容される。前方限定で,なるべく加速/減速をせずに飛び続ければ,VR酔いにはなりにくい。
連続した動き
前の項目と関連するが,動いたり止まったりではなく,ずっと動き続けることが重要だ。加速減速では,その名のとおり加速感がなければ不自然になるからだ。まったく動かないのが一番ではあろうが,動く必要があるならば一定の速度で動くことが望ましい。加速するに場合にしても,ゆっくりとやることが肝要となる。
快適な加速感への取り組み
加速の掛からない等速運動であれば,視覚と体感を一致させやすいのだが,加速を伴う映像になると,内耳前庭部の情報を伴わないことが不自然になる。そこで,視覚情報をさらに強化して,脳が「加速してるかも?」と判断に困る状況よりは,「加速してるな」と説得力のある表現にしたほうがまだよいようだ。
Eagle Flightでは加速時に流線を付加しており,アニメ的な表現ではあるが,存在しない加速感を補強している。
衝突システムは再考すべし
衝突で突き抜けるのがよくないという話が出たが,急停止するのはもっとよくない。Eagle Flightのようなゲームでは建物への衝突は日常茶飯事であり,うまく対応する必要がある。
実際にどうやっているかというと,障害物に近づくと視界がだんだん狭まっていき,衝突時にはほぼ真っ暗の状態となる。衝突が発生すると木の葉が舞うというのは本作のお約束なので,それを散らしたうえで,数秒間待ってからテキストを表示している。真っ暗であれば動きが変とか言っている場合ではないので,違和感は発生しない。
リファレンスを確立せよ
視界内で動きの基準になる点があると,動いていても酔いは発生しにくくなる。1人称視点より3人称視点のほうが酔いが少なく,1人称視点のゲームでもコクピットやヘルメットといった動かない(顔などに固定されている)点があると,酔いは発生しにくい。
本作では,画面下にワシの嘴や羽の部分を表示している。
ハプティックを活用する
コントローラなどについている振動機能は,酔いを軽減させる働きもあるようだ。振動などの情報は,重力や加速度の代わりにはならないが,動きに対応する補足情報があったほうが,脳が視覚の情報を信じやすくなるということなのだろう。
脳を忙しくする
脳が違和感を感じている暇がないくらい忙しくしていれば,酔いを感じにくくなる。同じ動きをする車に乗っていても,助手席より運転席のほうが酔いにくいのはそういった理由だろう。
マルチプレイヤーにする
理屈はよく分からないのだが,マルチプレイヤーのほうが酔いにくいらしい。一人で飛んでいると,「飛んでる感じしないけど本当に飛んでる?」と脳が疑問に思うこともあるのかもしれないが,大勢でやっていると「でも,みんな飛んでるし」と納得してしまうのかもしれない。
ビジュアルを快適なものにする
気持ち悪い絵よりは,気持ちいい絵のほうが気持ち悪くなりにくい……ということなのだろうか。ビジュアルの改善で,酔いにくくなることがあるらしい。サンプルで提示された水面については,最初の土色をした泥水っぽい表現から,青々とした水になったことで効果が出たということなのだろうか。
サウンドは酔いを軽減する
振動などと同じ理屈になるのだろうが,動きに対して適切な聴覚刺激もあったほうが視覚の情報を強化することができ,結果的に酔いにくくなるのだと思われる。Eagle Flightでは,加速減速がどうしても発生するときにサウンドで補っている。上昇するときには羽ばたき音,降下するときには風切り音が発生する。
目と視野周辺部
肉食獣は視野が前方に集中し,そのエサとなる動物は視野が広いという図。なんでも,視野の周辺部分は動きに敏感なのだそうだ。目的に合わせて敏感な部分が異なるというわけだ。視野の端のあたりで,貧乏揺すりされているのが目に入ってくると気になる理由が初めて分かった。
状況に応じて視野を制限する
Eagle Flightには,Dunamic Blinderという仕組みが組み込まれている。状況に応じて視野を制限する仕組みである。右に曲がっていると左側に黒い部分ができていたり,狭い通路に入ると視野が狭くなったり,障害物に近づくと障害物側に黒い部分ができるといった感じだ。ただし,今回映像で見て改めて気づいたくらいで,ゲームプレイ中には人間には意識されない部分でもあるらしい。
前半で紹介した,近くの部分が高速で動いているのが目に入ると酔いやすいというのを自動的に防いでくれるシステムにもなっている。
このような工夫を重ねることでEagle Flightは快適なVRゲームになっているわけだ。最後にPalmieri氏は,来場者にぜひとも持ち帰ってほしい項目を3点にまとめていた。
まず,頭の動きでゲームを制御するのは非常にお勧めだということ。次に,プレイヤーに画面の動きを強制してはいけないということ。最後にちゃんとVR用に設計するということだ。デザインする前に機能を考えろという言葉は,実は本セッションの冒頭でも挙げられていたもので,スティーブ・ジョブスの「デザインとはどう見えるかじゃなくて,どう機能するのかのことだ」という言葉を元にしている。
理論的なところから始めて多くの実験で知見を重ね,それぞれについて的確な対処法を生み出しているUbisoftのやり方は非常に合理的であり,実際に効果もあげている。私自身も聴講してみて,これまで経験則だった部分がずいぶんすっきりしたようにも思う。このような作り方がもっと広まってほしいものだと感じたセッションであった。
GDC 2017記事一覧
- 関連タイトル:
Eagle Flight
- 関連タイトル:
イーグルフライト
- この記事のURL:
キーワード
(C)2016 Ubisoft Entertainment. All Rights Reserved. Ubisoft and the Ubisoft logo are trademarks of Ubisoft Entertainment in the U.S. and/or other countries.