[CEDEC 2017]Oculus VRによる新作ゲームから見られる最新の知見
●主体移動のTips
VRに関する知見では毎度のことながら,VR酔いに関連するものが取り上げられた。テーマはプレイヤーの主体的な移動についてだ。
今回紹介されていたのは人間の認知機能の特性を生かしたもので,キャラクター回転を30度くらいの単位で瞬間的に視界を切り替えるという手法だ。ぐるっと回るのではなく,ぱっと角度を切り替える感じである。従来,VRだと自分で頭を巡らせるのは大丈夫だが,コントローラを使ってのキャラクターの回転などはかなり気持ち悪くなる操作であった。これは視覚と三半規管の感覚との齟齬から発生するところが大きいとされている。
今回はこれを「変化盲」の活用としていたが,変化盲とは変化しているのに気づかないことを意味し,注意を払っていない部分が変化してもそれに気づかないことといった状況を説明するときに使われる。ただ,この場合,移動の進行方向に(さすがに)変化に気づかないわけではないので変化盲というべきかどうかはちょっと疑問がある。
この方法のメリットは,動いている局面がカットされているので視覚の運動量による錯覚=ベクションが発生しない。もしかしたら日常的にテレポートで移動しているような人だと「なんか違うわー。酔うわー」ということもあるのかもしれないが,たいていの人に有効であるのは確かだ。
この手の処理は旋回に限らない。ワープ移動もそうだし,車に乗り込むときにドアを開いた次の瞬間にシートに座っているような,動きの中抜き全般で使えると井口氏は語っていた。
●等速直線移動の活用
では,移動も離散的にやったほうがいいのかというとたぶんそうでもないだろう。等速直線運動については違和感がほとんど発生しないことは広く知られているので,わざわざ滑らかでない動きにすることもない。ということで,等速直線運動を基本とし,頭や手が向いた方向に向きを変える方法はかなり有効であるとノウハウとして挙げられていた。ある意味当然ではあるが,VRでのキャラクターの移動では主力になる手法である。
また,地形を手でつかんで体のほうを引き寄せるような運動も酔いが少ないという。崖上りや宇宙空間でもなければ少々使いにくい。それでも一部のタイトルでは非常に効果を挙げている手法になっているようだ。
●視野制限
●ポジショントラッキングの知見
また,トラッキングの基点を,床面と頭の高さに設定できるとのことで,双方のメリットデメリットが語られた。基点を床面にすると,実際の床面とVR空間内の床面を一致させることができる。その一方で,プレイヤーの身長差がゲーム内でそのまま反映されるので,ゲームデザインによってはプレイに支障が出る可能性も出てくる。
一方,頭を基点にすると,プレイヤーの身長によらずプレイヤーから見える視界を統一することができる。その一方で,床面は実際の床面とは一致しなくなる可能性がある。
かつて某社の社長さんに,床面が一致していることの重要性を熱く語られた経験からすると,床面基点は絶対だろうという気になるのだが,レースゲームのような着座を前提としたゲームであれば頭を基点にしたほうがよいと井口氏は語っていた。
●障害物めり込み時の暗転
頭がVR空間内のオブジェクトにめり込むなどの事態が発生したときは,視界を暗転させるといった方法が取られることが多い。障害物に近づいた段階で暗くなるようにしておくと,数回でプレイヤー側も慣れてぶつからなくなるという。
●前方の指示
Riftのセッティングには,前方方向にセンサーを置いた180度タイプと3つめのセンサーを後方に置いた360度タイプがある。360度タイプでは向きが分からなくなることがあるので,矢印などで方向を指示すると親切である。ただし,これは表示のON/OFFができたほうがよいとのこと。
●IKによる身体の生成
●ハンドコントローラと手の位置を合わせる
Touchを使用するゲーム作成では,実際の手の位置とVR空間に描かれる手の位置がずれないように気をつけなくてはならないという。このあたりがちゃんとできていなくてRejectされるゲームも多いらしい。
正面から見ると合っているようでも向きを変えるとずれたりすることもあるので,両手を使うアプリの場合,ゲーム内で両方の手を触ってみることが推奨されていた。片手の場合は,実際の手とHMDの隙間から見える手がずれていないかを確認するとよいとのこと。
●IKによる身体の生成
先ほどと同じような内容だが,今度はプレイヤーキャラクター(自分が見る)に頭と両手の位置から割り出した身体を生成する場合についてだ。これについては,半端にやるならやめたほうがよく,やるならかなり覚悟を持ってやれということだった。先ほどのは他人が見るアバターだったから少々精度が悪くても気にならないのだが,自分の手の位置などが実際と異なるのは違和感が大きい。「きちんとやればできなくはない」という例として「Lone Echo」の映像が示された。手の指などがオブジェクトにめり込むこともなく,かなりきちんとしたシミュレーションが行われており,このレベルの実装であれば非常に高い没入感を得られるとのことだ。
●オブジェクトの持ち方
想定される持ち方が決まっているオブジェクトでは,最初からそのように持つことが望ましい。ある意味,ゲームだと当然ではあるというか,そうでない実装のほうが難しい気はするのだが,銃などは手に取った瞬間に銃把を握って構えるくらいでちょうどいい。
問題は持ち方が複数あるようなオブジェクトで,講演ではナイフを拾ったときは持ち手を握るポジションで構え,持ったままボタンを押すと投げナイフ用に刃の部分に持ち替えるような実装が紹介されていた。
●GearVRコントローラ
●コンポジットレイヤー
コンポジットレイヤーは,通常のレンダリング面よりも手前に置かれるレイヤーで3Dレンダリング画像の上に重ね書きされるものだという。たとえば3D映像がフレーム落ちした場合でも,こちらは表示タイミングで合成されるので滑らかに表示できるのがメリットとなる。ローディング画面など,処理負荷が大きい状態でも滑らかに表示できるので,ぜひ活用してほしいとのこと。
●ステレオシェーディング再投影
鏡面など視点に依存する要素があると使えないという制限もあるので,シングルパスステレオと使い分けるのがよいだろうとのこと。左目で見えなかった部分のレンダリングコストが若干気になるが,こちらのほうが負荷が軽くなるゲームもあるだろう。なんにせよ,レンダリング負荷を下げてくれそうなアルゴリズムは歓迎すべきだ。
Oculus VRの開発イベントであるOculus Connect 4を来月に控えたこの時期はあまりネタがないようで,来月になれば大きな発表があるだろうとのことだった。
なお,Riftはサマーセールによる値下げによってかなりの台数が売れたとのことで,現在も期間を大きく延長してサマーセールを継続中とのことだ。ちなみにHTCの講演でもViveの値下げによってもの凄く売れていると語っていたので,ここ最近でPC用VRデバイスのユーザー数は結構増えているのかもしれない。