Zero Latency VR のVRの仕組みについて

念願のZero Latency VRを体験してきました。平日の朝から一緒にやってくれる友達もいないので1人で予約しました。

きっちり開始時間の20分前にはちゃんと受付済まして待機。が、他のプレイヤーは時間になっても現れず、あわや本当に1人で全ゾンビを相手にしないといけない状況に。。

しびれを切らしたお姉さんがゲームの説明を開始してしばらくすると、他のプレイヤー5人(中国人)が10分遅れでやってくる。どうしてもやりたいということで急遽15分遅れくらいで5人も参加するも日本語も通じずなかなかゲーム開始まで辿り着かない。。Baiduでデザイナーしてた頃の同僚中国人はみんな本当に礼儀正しかったし、真面目だったので、こういう一部のマナーの悪い中国人ばかり日本に旅行に来ているんだろうなと言い聞かせつつ、ただただ開始するのを待ってました。オペレーション大変だな、これはこれで珍しい経験できました。

で、Zero Latency VRの遊び方とかルールはネットに色々書かれてて、私も行く前に多少読んでいきました。そのあたりは割愛して、Zero Latency VRをVR開発者視点で書きます。というかやる前もやっている時もテンション上がってて全くそういう視点で見ていなかったので、思い出しながら書きます。

VRのデバイスと仕組み

まずVRのHMDはOSVR HDK2を使ってます。うちにもハッカソンでいただいたOSVRがありますが、ちゃんと動いたことがないので、OSVRがちゃんと動くということにまず驚きました。

osvr

HMDの上にPSMoveのコントローラみたいなLEDが2つついていて、これを検知してプレイヤーの見ている方向と位置を追従しています。最大6人で遊べるので、部屋の周りにこのLEDを検知するセンサーもしくはカメラが配置されているのだと思います。

銃にも2つのLEDがついていて、これがHMDと同様に銃の方向と位置を追従できるようになっています。

Zero Latency VR

でゲームをやってて気づいたのは、体と銃だけでVR内のプレイヤーの体全体をレンダリングしていて、自分から他のプレイヤーもちゃんと見える。ただあまりにゾンビの攻撃が激しく、ゆっくりそのあたりのモデルの繋がりかたとか握り方がどうなっているのかとかを見れなかったのが残念。次回はゲーム始まる前にもっとじっくり色々確認したいですね。

それとポイントは、部屋の床全面に描かれている白いグリッドです。このグリッドから床の面を検知して、ゲーム中のオブジェクトを配置したり、プレイヤーの視線の高さもこの平面を基準に追従していると思われます。それと奥行きの距離も計れるので、空間を把握するには一番やりやすい方法かもしれないです。MRに近い。

Zero Latency VR

LEDのマーカーによるプレイヤーの回転 + 位置情報と、グリッドによる床の平面情報を使ってVR空間を作ってます。

ステージのデザイン

Zero Latency VRは1階と2階をエレベーターで行き来できるステージのデザインになっています。VRなのでVR空間上は2階とはいえ実空間では1階と同じ平面上にあります。普通に考えたら1つの平面上に別のレイヤーで人が歩くと、絶対にぶつかってしまうはずなのですが、それをどうやって解決しているのかが実は一番知りたかったことでした。

やってみたらすぐに解決しました。実は1階部分と2階部分はゲーム内では同一の座標(この場合xとz座標)には存在しないようにデザインされていました。1階部分は現実空間の内側だけを使い、2階部分は現実空間の外側だけを使ってます。

space

これだと絶対にぶつかりません。単純なのですがステージのデザインでそこの問題を吸収していてよく考えられているなと思いました。逆にVR内でxとz座標が同じ複数の階を作るのは難しそうです。