今回は、以前あったFirstVR&Unity勉強会( https://firstvr.connpass.com/event/105634/ )でも話させていただいた、FirstVRでのゲーム開発で詰まったポイントを書いていこうと思います。
ちなみにその時使ったスライドも公開してあるので、よければご覧ください。
http://bit.ly/2PrRVGi
##FirstVRとの接続が不安定
Androidでの開発している時、FirstVRとスマホとの接続に時間がかかる、ということが結構ありました。
その理由については、FirstVRのSlack( https://first-vr.com/firstvr-slack-community/ )にて回答があります。
AndroidでのFirstVRコントローラの接続についてですが,Androidが搭載されたスマートフォンの機種のBluetoothのアンテナの実装位置や機種によるBluetoothの実装変更によっては,接続まで時間がかかる場合があるようです.それは,スマートフォンとFirstVRコントローラの接続は,BLEのdBmから推測されるデバイス間の距離で開始されるからです.そのため,Bluetoothのアンテナの実装位置や機種によるBluetoothの実装変更によっては,接続まで時間がかかる場合があるようです.
その場合の対処は、「接続時にFirstVRコントローラをAndroidが搭載されたスマートフォンの機種の背面上部,あるいはバッテリが配置されていない位置に接触させる」だそうです。
アプリを起動する際にFirstVRをスマホにくっつけておくと、接続に時間がかかるというのはなくなりそうですね。
##FirstVRが繋がらなくなった
ゲーム開発をしている途中で、いきなりFirstVRの接続ができなくなる現象が起きました。
つまり、シーンに元々あったFVRContainerが消え、新しいFVRContainerがシーン上に作られているため、シーンにはFVRContainerがあり一見問題なく動くように思われます。
しかし、FirstVRの接続判定をする奴が元々あったFVRContainerを見ているのでうまく接続できなくなっていた、というオチでした。
##Recenter()が反応しない
開発している際に必ずほしい機能の一つでリセンターがあると思います。
そんな時に使うのがRecenter()なのですが、APIを見てみると2つ存在します。
私は最初、ReferenceクラスのRecenter()を使っていました。
これが動かない原因でした。
APIを見ると、コントローラーのリセンターを行うにはFVRConnectionの方のRecenter()を行わなければいけないらしいです。
#最後に
以上が今回のゲーム開発で詰まったポイントでした。
他に分からないことなどがあれば、FirstVRのslackで聞いてみるのも良いかもしれません。
https://first-vr.com/firstvr-slack-community/