HMD(VR920)使ってWebGL内を見渡してみた(試作)
HMDのVR920には加速度センサーがついているので、それを使うと、顔をどこに向けているのか分かります。
その情報を、node.jsのアプリを経由してWebSocketに送ると、顔の向きでWebGL内の視点の方向を動かして、WebGL内を見渡せます。
不完全な部分が多いので試作ですが、別な作業に移るので一旦ポストします。
デモムービー
実現方法とソースコード
1.VR920 --> 2.VR920のSDKのサンプルを改造したアプリ --[TCP]--> 3.ローカルNode.jsサーバー --[WebSocket(SocketIO)]--> 4.ブラウザでWebGL(scene.js)を使って表示
"2.VR920のサンプルを改造したアプリ"
HelloTracker2を改造。適当にフィルターしてTCPで投げる。
改造点のdiff: http://ndruger.lolipop.jp/hatena/20110212/throw.patch
"3.ローカルNode.jsサーバー"
TCPで情報を受け取り、jsonの正しい単位でまとめて、ブラウザにWebSocketで投げる。
ソース: http://www.syspri.org/store/vr920_trunnel/vr920_server/
現状の課題
- なんか右を向いたら、yawの値が想定と違っていて、うまくlookが移動してくれない。
- pitchで修正する必要がある?今度ゲームに使うときには直しておく。任意軸回転が必要とかいう落ちかも。
- いろいろ値の微調整が必要。