電波可視化をQuest2のパススルーでやってみた
はじめに
以前よりスマホのAR機能で電波の強さを表示するソフトを作成したりしていましたが、急にスマホを動かしたり、範囲が広くなったりすると位置がずれたりして、トラッキング性能に不満がありました。
Quest2ではVR用ではありますが、パススルーモードを使うことで白黒ですがARと同じようなことができます。
パススルーモード
まずはQuest2でのパススルーモードですが、webにたくさん情報があります。こちらを参考にしました。
Quest3だと、カラーパススルーになるらしいので、待ち遠しいです。QuestProはとても手が届きません。
SDRとの接続
SDRとしてはRTL-SDRとtinySA-ultraを使いました。もともとスマホのandroid用にネイティブプラグインとして以前作成したのがあるので、基本的にはそれをQuest2用に合わせて変更できました。この辺りは同じAndroidなので使いまわしがしやすく助かります。
ハンドトラッキング
今回苦労したのはハンドトラッキング対応です。コントローラではアンテナを持つのが厳しいので、ハンドトラッキングに対応させてみたかった次第です。
こちらもほかにやっている人がたくさんいるようで、情報には困りませんでした。
一番役に立ったのは、本家のサンプルです。Oculus Integration のサンプルにありました。こちらを改造しながら実装できました。
お気に入りは手を広げたときにスペクトラム表示がされるようにしたことです。
こんな感じです。
MRキャプチャでwebカメラでMR表示
こちらはだいぶ苦労しました。以前にも一度やっているのですが、QUEST2のバージョンが上がっているせいか、同じように動作しなくなっていました。
そもそも「Mixed Reality Capture」でキャリブレーションが完了できません。下記を参考にしました。
結果としては下記のソフトを代わりに使えばよいとのこと
なんとか表示できるところまで行きつきました。webカメラとQUEST2での表示が合成されているのがわかります。
とりあえず完成
こちらに動画上げました。ただいろいろバグがあるので、ある程度修正したらapkをgitに上げようかなと思っています。