Pico4とALXRで机の上だけパススルー
何ができるの?
百聞は一見にしかず、こちら↓の動画のような事ができる方法です。
https://youtu.be/Ax3kV7Y1VEo
2023/10/11 update
Virtual Desktopがパススルー表示に対応して、同じことができるようになりました!
やり方
1. ALVRとALXRを導入する
PCにALVRを、Pico4にパススルー対応ALXRをそれぞれ導入します。導入方法は、こちらの記事で詳しく解説されています(助かる記事に感謝!)。
一つ目の記事はALVRとALXRを使った環境構築の基本、二つ目の記事は改造ALXRを使って黒抜きを緑抜きに変更する方法です。
黒抜きのままでも使えなくはないのですが、暗めのワールドの背景などが抜けてしまいやすいので緑の方が使い勝手が良いと思います(ワールドによるかもしれません)。
2. ALVRの設定をいじる
標準設定で問題が起きる場合はALVRの設定をいじる必要があります(標準設定のままだと私の環境ではパススルーをONにしたときに映像が乱れがちでした)。
私は下記のようにしましたが、かなり適当にいじっただけなのでもっと良い設定があるかもしれません。
解像度 150%
Refresh rate 90Hz
ビデオコーデック HEVC(H.265)
映像ビットレート 300
Bitrate Limit 301
Streaming Protocol TCP
https://scrapbox.io/files/6478525c18293e001c4182c5.png
3. 緑色の何かを空間固定表示する
ここまでできたら、何でもよいので緑色の物をVR表示して、左メニューボタンと右Bボタンを同時押しするとその部分がパススルー表示されます。
工夫が必要なのは、それを現実の机の位置に合うように空間固定表示する方法です。たとえばVRChatワールドで緑色の板を表示しても、VRChat内をスティック操作で移動しただけで現実の机とは位置がズレてしまいます。
方法は簡単で、バーチャル物体を空間固定表示するのはオーバーレイアプリを使えばできます。たとえばデスクトップ背景を緑色に塗りつぶした状態でXSOverlayを表示するといった方法があります。
…とはいうものの、実際にはXSOverlayのウィンドウだと不便も多く(目的外使用もいいところです:)、縦横比が変えられなかったり、水平配置したり机の高さとぴったり合わせたりするのはなかなか手間だったりします。
私は、最終的に緑の板を表示し続けるだけの専用のオーバーレイアプリを作成しました(便利なので後日共有しようと思います)。
これができると何がうれしいのか
VRゴーグルをかぶってしまうと現実の様子が見えなくなってしまって困ること、いろいろあると思います。キーボードが見えないのでタイピングしづらい、お茶を飲んだり食事をしたりがしにくい、などなど。各自様々な方法をとっていると思います(鼻の隙間から見る、VIVEのパススルーカメラ半透明表示を使う、慣れる、…)。
最近のPico4やQuest Pro等にはカラーカメラを使ったパススルー表示機能が付いているため、HMDを外すことなく外部の世界を見ることができます。が、普通に全面をパススルーするだけだとせっかくのVR世界が見えなくなってしまいます。
これに対するバランスの良い解決の一つが、「現実の机の位置を認識して、机上だけをパススルー表示する」というもの。もともとMetaのHorizon Workroomsに搭載された機能ですが、ここで紹介した方法を使うと(精度は劣るものの)VRChatとPico4の組み合わせでも同様のことができるようになります(本当はQuestやVIVE XRでもできるようですがまだ検証していないので…)。
要するに、VRChatでワールドの景色とフレンドの姿を目前にしながら現実のテーブルの上のご飯が食べられるということです!