はむすたーの巣

ちょっとかじって見たこととか興味持ったこととか記事というよりメモな感じにまとめます。たまに消します。きっと。

やってたことその1 けのじばくだん

 


けのじばくだん

(大体インターン用に適当に書いたドキュメントから引っ張ってきてますよ)

なんだっけそれ

  • VRHMDをかぶった解除者と、解除の手助けをするオペレーターの二人で協力して実ハードウェアの爆弾(を模したもの)を解除するコンテンツ
  • 解除者とオペレーターはそれぞれしか持ち得ない情報を持っており、協力しないと絶対に解除できない(例:解除者はHMD越しでは色が見えないが、どの色からピンを引き抜けばいいか知っている。オペレーターはどこのピンがどの色かを知っている)
  • 解除者はHMD越しに両眼カメラで前方を見ることができるが、解像度が低く色も白黒になって居るため視界が悪く、手探りで解除しなければならない。
  • 下記記事に掲載されました
    1. http://panora.tokyo/3977/
    2. http://forest.watch.impress.co.jp/docs/serial/oculusclub/745772.html
    3. https://www.famitsu.com/news/201602/22099910.html

どうやったん

f:id:Kenoji:20170726183009j:plain

ハードウェア

  • 爆弾側

 爆弾側は、Arduinoとmbedの2台のマイコンを用いて制御、そのうちArduinoは入力処理、mbedは出力処理を担当、2台に分けたのはより爆弾らしい風体にするためでもある。

入力に用いたギミックは、ブレッドボード上に配線したピンの引き抜き、タクトスイッチを複数並べ番号を割り振りナンバー入力、トグルスイッチを3つ並べて順に操作、最後にミサイルスイッチの操作である。

出力に用いたギミックは、8連リレーモジュールをON/OFFさせることで時限爆弾にありがちな「カチカチ」という音と振動を発生させる、圧電ブザーを用いて、カウント開始時に「ピピッ」という音を鳴らしたり、解除失敗時に「ビーッビーッ」という警告音を鳴らしたりする、7セグ2連LEDを用いて残り時間を表示するなどである。

 HMD側はOculusRift DK2を用いて、DK2の前面にOvrVisionを取り付けて解除者の視界として利用した。

ソフトウェア

 ソフトウェアは、Unityを使用し、UnityとArduino、mbed間はシリアル通信でやり取りを行わせた。

 爆弾解除のステート管理は、Arduinoが行っており、UnityはArduinoから送られてきたステート番号に沿って、VR空間内での情報表示等を行う。

 また、制限時間の管理はUnity上で行っており、現在の残り時間の数値をmbed上に送信することで、mbedはリレーのカチカチというスイッチのタイミングを変化させ、また、残り時間を7セグLEDに表示させる。