manahiyoの気まぐれ

備忘録を兼ねたブログです。

電波可視化をQuest2のパススルーでやってみた

はじめに

以前よりスマホのAR機能で電波の強さを表示するソフトを作成したりしていましたが、急にスマホを動かしたり、範囲が広くなったりすると位置がずれたりして、トラッキング性能に不満がありました。

Quest2ではVR用ではありますが、パススルーモードを使うことで白黒ですがARと同じようなことができます。

パススルーモード

まずはQuest2でのパススルーモードですが、webにたくさん情報があります。こちらを参考にしました。

qiita.com

Quest3だと、カラーパススルーになるらしいので、待ち遠しいです。QuestProはとても手が届きません。

SDRとの接続

SDRとしてはRTL-SDRとtinySA-ultraを使いました。もともとスマホandroid用にネイティブプラグインとして以前作成したのがあるので、基本的にはそれをQuest2用に合わせて変更できました。この辺りは同じAndroidなので使いまわしがしやすく助かります。

ハンドトラッキング

今回苦労したのはハンドトラッキング対応です。コントローラではアンテナを持つのが厳しいので、ハンドトラッキングに対応させてみたかった次第です。

こちらもほかにやっている人がたくさんいるようで、情報には困りませんでした。

note.com

番役に立ったのは、本家のサンプルです。Oculus Integration のサンプルにありました。こちらを改造しながら実装できました。

お気に入りは手を広げたときにスペクトラム表示がされるようにしたことです。

こんな感じです。

MRキャプチャでwebカメラでMR表示

こちらはだいぶ苦労しました。以前にも一度やっているのですが、QUEST2のバージョンが上がっているせいか、同じように動作しなくなっていました。

そもそも「Mixed Reality Capture」でキャリブレーションが完了できません。下記を参考にしました。

communityforums.atmeta.com

結果としては下記のソフトを代わりに使えばよいとのこと

github.com

なんとか表示できるところまで行きつきました。webカメラとQUEST2での表示が合成されているのがわかります。

とりあえず完成

こちらに動画上げました。ただいろいろバグがあるので、ある程度修正したらapkをgitに上げようかなと思っています。

www.youtube.com