8日にViveが届いたのでいろいろと遊んでました。
チュートリアルもそこそこにSteamVRPluginを使ってUnityで何か作ろうと思って
男の子だからどうしてもこういうインタフェースが好きになってしまう…😌 pic.twitter.com/4ZMmMMhp5z
— Negipoyoc (@CST_negi) 2016年7月11日
というのを作っていました。(楽しい!)
開発に際して、今回は片方の手だけ使えれば良かったので特に問題なかったのですが、何故か左コントローラだけDisableになってしまって使えないという状況が発生してました。
UnityEditor上以外(例えばチュートリアルとか)ではコントローラが正しく認識されているし、SteamVRPluginのコードを特にいじってない状況でこうなるのはおかしいなぁと思っていたらフォロワーの方から以下の様なアドバイスがありました。
@CST_negi 最新のファームアップデートするとなるっぽいですー
— 野村譲誉 into VR (@n_yositaka) 2016年7月12日
現状修正方法が見当たらない感じで、自分も困ってます…
早く治ってほしいなぁという感じですね。
しかし、治るの待ってたらいつまでたってもテストアプリ作成すらままならないので、その後いろいろ試していたら手動でdeviceのIndexを割り当ててGameobjectをEnableすれば(コントローラの一部の初期化処理以外は)通常通り動きました。
このバグはいずれ治ると信じて簡単な一時的対処をしたコードを以下にあげます。
https://gist.github.com/NegishiTakumi/7e252323a464935926012d879f542ebc
tmpConf.index = SteamVR_TrackedObject.EIndex.Device4;
のDevice4というのはもしかしたら人によって違うかもしれないのでいろいろ試して変えてください。
僕の場合はたまたまDevice4だったというだけですね。
コントローラに電源が入ってないなど正しくDisableが働くときでも強制的にEnableするコードなのでそういうところは雑ですが、ひとまず今はテストアプリを書いたりDebugのことしか考えてないのでこんな感じで…。
追記2016/07/19
SteamVR Betaにしたあと、PC再起動で動くようになりました。
なんだったんだ…