
そこに西瓜はあるのかい
- Unity
- VIVE
- VR
- 第1回テーマ作品
2017.11.10
はじめに
ここ数年でVRのジャンルはどんどんと盛り上がりを増し、さまざまなコンテンツが日々の中で見られるようになりました。
改めてVRの本質について考えると、そもそもはVirtual Reality、和訳として仮想現実となります。
仮想現実という言葉は、現実への対比として挙げられる概念で、仮想の世界という言葉以上に、現実を超えたもの、現実ではできないものとした、超現実という存在としての意味を含んでいる印象を受けます。
実際、VRコンテンツで魅力的なものは、地理的な制限や時間的な制限、物理的な制限を超えて、現実では体験しえないものをデジタルの世界で提供するというところまで到達しているものが多く見受けられます。
VRといっても様々な形態がありますが、現在ゴーグル型のディスプレイを通して体験を提供するものが主流であり、その大部分を占めています。このゴーグル型の欠点としては、ゴーグルの先に見える仮想現実の世界を知覚できるのが、プレイヤー自身のみであるということが挙げられます。
そのため、
仮想現実の世界を見ることのできる、プレイヤー
と
仮想現実の世界を見ることのできない、現実にいる周りの人
という構造が生まれてしまいます。
ゴーグルをかぶっていない人は仮想現実を知覚することが出来ないため、現実にいる人はプレイヤーの言動を通して間接的にの仮想現実を認識することになります。
作品「そこに西瓜はあるのかい」
このような構造を活かしたものができないかと考えたときに思い当たったのが、日本人には馴染みの深い遊び「すいか割り」でした。
目隠しをされ西瓜を見ることができないプレイヤーと、西瓜を見ることができその存在をプレイヤーに伝える周りの人、という関係性は仮想現実と現実との関係をつなぐ構造として適していると考えました。
VRに西瓜割りを取り入れることで、プレイヤーの立場を逆転し、
仮想現実の世界を見ることのできる、周りの人
と
仮想現実の世界を見ることのできない、現実にいるプレイヤー
という変換を行うことができます。
このようにして生まれたコンテンツが「そこに西瓜はあるのかい」です。
技術的な解説
作品コンセプトは上記の動画内で説明しているため避けますが、本作では西瓜割りを実現するために技術的な工夫をいくつか行なっており、本記事では下記のその点をまとめようと思います。
・バックパックPCの利用
Advanced Technology Lab 広尾の施設のうちバックパックPCルームは目玉の一つでもあると思いますが、今回の作品とは非常に相性がいいと感じました。
本作品では西瓜を割ろうとするプレイヤーはゴーグルをかけておらず、普段の生活と変わらず現実にいるため、ケーブルの長さに制限されることなく自由に動き回ることが可能です。ゴーグルをかけた仮想現実を見る人はその現実にいる人間とのコミュニケーションを取るため、位置を固定されないバックパックPCを使うことで、通常のスイカ割りと同じような関係性を保つことができます。
・プレイヤーの位置をVR空間に伝える
本作ではプレイヤーは現実にいるため、現実の位置情報を仮想現実に伝える必要があります。今回は、プレイヤーは西瓜を割るための棒の役割としてVIVEのコントローラーを手に持つため、その位置を見て仮想現実ではプレイヤーの移動を判断します。
・位置情報の同期通信
本作品は、西瓜を見ることができる人間を多数派にし、1対多の構造で楽しむコンテンツとなっています。そのため、VRゴーグル内に広がる仮想現実の空間は独立するのではなく、プレイヤーの位置とそれぞれのゴーグルから見える位置関係の同期を行う必要があります。
上記を実現する方法として今回はWebSocketを使用しました。3台のPCにそれぞれUnityで構築されたアプリケーションが起動しており、その中の1台がマスターとして割り当てられWebSocketのサーバーとして機能しています。西瓜の位置情報やプレイヤーの位置は常にマスターのPCに集約され、そのほかのPC2台と同期するようになっています。
・ルームスケールの同期
上記の位置情報の同期を行うだけでは不十分で現実の空間と仮想現実の座標系を一致させるためには、3台全てのPCのルームスケールを同期させる必要があります。
ルームセッティング情報はchaperone_info.vrchapというファイルで格納されているため、1台のファイルから情報を取り出し、そのほかの2台に設定をコピーすることで実現可能です(通常はC:¥Program Files(x86)¥Steam¥configに格納されています)。
ただし注意点としてファイルを単純に上書きするだけでは、ルームスケールが未セットアップ状態とみなされてしまいます。これは、SteamVRで行なったルームセッティング情報はIDと日付で管理されているためなので、IDと日付の情報はそのままに座標情報のみ書き換えるといった対応が必要となります。
{ "jsonid" : "chaperone_info", "universes" : [ { "collision_bounds" : [ [ [ -1.8742694854736328, 0, 1.6058042049407959 ], [ -1.8742694854736328, 2.4300000667572021, 1.6058042049407959 ], [ 2.150385856628418, 2.4300000667572021, 1.8107054233551025 ], [ 2.150385856628418, 0, 1.8107054233551025 ] ], [ [ 2.150385856628418, 0, 1.8107054233551025 ], [ 2.150385856628418, 2.4300000667572021, 1.8107054233551025 ], [ 1.8208037614822388, 2.4300000667572021, -1.9929032325744629 ], [ 1.8208037614822388, 0, -1.9929032325744629 ] ], [ [ 1.8208037614822388, 0, -1.9929032325744629 ], [ 1.8208037614822388, 2.4300000667572021, -1.9929032325744629 ], [ -1.9843707084655762, 2.4300000667572021, -1.5876349210739136 ], [ -1.9843707084655762, 0, -1.5876349210739136 ] ], [ [ -1.9843707084655762, 0, -1.5876349210739136 ], [ -1.9843707084655762, 2.4300000667572021, -1.5876349210739136 ], [ -1.8742694854736328, 2.4300000667572021, 1.6058042049407959 ], [ -1.8742694854736328, 0, 1.6058042049407959 ] ] ], "play_area" : [ 3.6999993324279785, 3.1999993324279785 ], "standing" : { "translation" : [ -0.88991695642471313, 2.5393581390380859, 3.0862612724304199 ], "yaw" : -1.2217307090759277 }, /* ここからがルームセッティングの識別に使う情報なので書き換えないようにする */ "time" : "Fri Aug 25 17:45:17 2017", "universeID" : "1497869423" } ], "version" : 5 /* ここまでがルームセッティングの識別に使う情報なので書き換えないようにする */ }
最後に(告知)
本作品は2017年8月に開催された「HOMEWORKS 2017」というイベントで出展したもので、季節外れのコンテンツとなってしまったのはそのためです。
本作は現在WIRED主催の「CREATIVE HACK AWARD 2017」というアワードに出品中で、現在ファイナリスト18作品として選出されております。
https://hack.wired.jp/ja/finalist/
冨永敬と増田雄太と大西拓人
それぞれ本業ではTVディレクター、広告プランナー、テクニカルディレクターに従事する3人組。 特定のテクノロジーや媒体にとらわれず、新しい体験を生み出すべく日々企画と作品制作を行っている。