Pico4 でViveTrackerを使う場合の注意点まとめ

Pico4としてますが、Questシリーズなど他のHMDでも応用可能な情報です。

更新日:2024/5/8
steamvr.vrsettingsについての記載をしました。


必要なもの

・ベースステーション1.0 or 2.0

1.0は2個まで。1つでも使用できます。
2.0は1個~4個まで使用できますが、使用するスペースが狭い場合に4個設置するとお互いの赤外線の照射の妨げが起こりトラッキングが安定しない場合があります。
そのため、数を多く設置した方が安定してトラッキングが出来る、という認識は間違いです。

・ViveTracker2018 or 3.0

現在ViveTracker2018については既にに販売が終了しています。今は3.0が主流となり、入手性も安定しています。

・Tundra Tracker

小型軽量のTrackerです。
機能的にはViveTrackerと違いはありません。

・Trackerの必要数

腰・両足までであれば3つあれば可能です。Pico4の場合は空間のズレが発生する場合があるので、自動補正用に4つ用意するのが理想です。
自動補正用のTrackerはHMDに取り付けます。

追加で胸、両肘、両膝までの5個の追加が可能です。

事前設定

SteamVRのconfigを確認してください。
一部の環境でsteamvrの欄に「“activateMultipleDrivers” : true」の項目が無い場合があるようです。

設定ファイルは C:\Program Files (x86)\Steam\config のフォルダにあります。「Program Files (x86)」のフォルダはSteamのインストールフォルダを変更している場合は変更したインストール先フォルダになります。
設定ファイルのファイル名は「steamvr.vrsettings」です。

項目が無かった場合、「"steamvr"」の欄に1行追加する形で記載してください。
一番最後の行以外に記載する場合は最後に「,」を忘れずに付けてください。

以前のマルチデバイスを使用する方法で「"forcedDriver" : "null",」を記載も記載する必要がありましたが、SteamVR2.0以降では記載があるとHMDを認識しなくなるため、記載しないでください。
SteamVR2.0以降では必要ありません。

ベースステーションの認識について

SteamVRのベースステーションのBluetooth接続はHTC Vive系のHMDかValve INDEXのみの機能です。Pico4やQuest2で使用する場合は接続状態になることはありません。

ベースステーションは単体でPCに認識されることはありません。ペアリングしたlightHouseデバイスがベースステーションの赤外線を受信してPCと通信することで認識されます。

ベースステーションが中央に表示されている場合がありますが問題ありません。Pico4のトラッキング空間とlightHouseのトラッキング空間はまったく別のため、Pico4から初期位置は正しい位置に見えません。
2つの空間を合わせる設定をした後に、仮想的な位置に表示が移動しますので、合わせる前の位置は気にしなくても問題ありません。

Trackerのペアリングを行う

この作業は、lightHouse系のゴーグルからPico4にHMDを乗り換えたりする場合には既に完了している作業になりますので、読み飛ばしてください。

Pico4を使用していつもの様にSteamVRを起動します。

SteamVRの起動についてはPico ConnectでもVirtualDesktopでもどちらの接続方法でも構いません。

起動後、Trackerのドングルを1つPCに接続します。接続が終わったらSteamVRの「≡」をクリックし、デバイス>コントローラーのペアリングを選択します。
ここでコントローラーのペアリングが表示された場合、「他のタイプのコントローラをペアリング」を選択し、Trackerを選択し直します。

Trackerのペアリング画面が表示されたら、画面の指示に従いTrackerの電源ボタンを長押ししてTrackerが青の連続点滅状態になるまで押します。
ペアリングが完了すると、成功と表示されて完了します。

2個目のドングルをPCに接続して、同じ様にペアリングを完了させます。

1つずつ行う方が確実ですが、複数のドングルを同時に接続していた場合は、2つ目、3つ目を連続して行えるかと思います。

Viveトラッカーの管理で役割の設定を促す案内をされている方を見かけますが、VRCにおいては役割の情報を参照していませんので、設定しなくても構いません。

INDEXコントローラーと組み合わせて使う場合、Trackerがハンドヘルの役割が設定されていると、コントローラーの認識が切れたり電源が切れた場合にTrackerがコントローラーの位置に来ることがあります。
この動作を起こさない様にTrackerの役割を設定する場合はハンドヘル以外か無効に設定してください。無効に設定してもVRCではTrackerは認識されるので問題ありません。
VRCで利用する場合はTrackerの役割設定を意識せずどのTrackerをどの部位に付けても問題ありません。VRCの認識はアバターとTrackerの位置でどの部位の動作をするかをキャリブレーションで決めています。
それ故にVRC上でキャリブレーションをする際に、アバターの部位とTrackerの位置が離れすぎている場合、トラッキングされなくなります。

clusterやバーチャルキャストの場合はTrackerの役割を参照している様ですので、対応するTrackerの役割設定を行って利用してください。

OpenVR-SpaceCalibrator について

OpenVR-SpaceCalibratorには本家とbd_さんのカスタム版とbd_さんのものをカスタムした3種類があります。

本家

bd_さんカスタム版

bd_さんカスタム版を更にhyblockerさんによる修正版

本家とbd_カスタム版はプロジェクトとしてはどちらもすでに更新が停止しているため、今後も無いと思われます。
bd_さんのカスタム版については既に停止したプロジェクトです、と返答頂きました。

hyblockerという方がbd_さんのカスタム版のバグ修正などを行ったVer.がありました。
このバージョンを実際に使用してみましたが、Pico4でも即時に初回のトラッキング補正の処理が行われることを確認しました。
最小化をしていると負荷になりfpsが低下する問題も修正されている様です。
現在使用できる最新版となります。

基本的にはSteamVRで認識しているHMDとコントローラー、Trackerデバイスを認識することをしてますので、稀にPico4に対応していないと言われる方を見かけますが、SteamVRで認識していれば特にHMDデバイスに依存しないと思います。

bd_カスタム+hyblocker fix版の使用をおススメします。
Pico4で初回の常時キャリブレーションに入るのに時間がかかっていましたが、起動後すぐに補正され待機モードとなることを確認しています。

手動でのキャリブレーション方法

OpenVR-SpaceCalibratorをインストール後、アドオンとしてSteamVRに登録され、SteamVR実行時に自動的に起動してきます。

HMDにTrackerを1つ取り付けている場合はキャリブレーションも楽に行うことが可能です。

手順としては以下の通りとなります。

  1. ベースステーションの電源を入れる

  2. VDでPCと接続し、デスクトップモードの状態にする

  3. HMDに取り付けているTrackerの電源を入れる(キャリブレーションを行うTrackerの電源を入れる)

  4. SteamVRの起動を待ちます(Trackerがドングルと接続されるとSteamVRが自動起動します。)

  5. OpenVR-SpaceCalibratorを開く

  6. Start Calibration ボタンを押す

  7. キャリブレーションを完了させる

キャリブレーションですが、HMDに取り付けている場合は、首を上下、左右に振る程度で良く、大きく動く必要はありません。

HMD用のTrackerが用意できない場合は、腰か足用のどちらかをHMD正面のパススルーカメラがある位置に手でTrackerをHMDと一緒に持って固定した状態でキャリブレーションを開始して首を上下、左右に振ることでキャリブレーションが可能です。

コントローラーと一緒に持って行う方法も可能ですが、HMDで行う方法が確実かと思います。

この手順で行う理由の一つにINDEXコントローラーを使う場合にPico4のコントローラーを使用せずにVRモードに移行する目的のため、というのがあるのでPico4のコントローラーを使用する場合は、Trackerの電源を入れるのはVRモード(SteamVR起動後)移行後でも構いません。

キャリブレーション時の注意点

キャリブレーションをコントローラーで行う場合はQuest2などで行われている8の字で行う場合、平面的な動きをさせて8の字を行ってキャリブレーションを行うと、正面では正しい位置が出ますが身体の右側、左側で大きくズレが発生します。
コントローラーでキャリブレーションを行う際は3次元的に高さ、水平、奥行きの情報が得られる様にする必要があります。
腕を伸ばした状態のまま頭の上から下に下す、腕を伸ばしたまま正面から左右方向に腕を振ると正確なキャリブレーションになります。

自動補正機能を使う

ズレを常時監視して自動補正を行うモードを使う場合はbd_カスタム+hyblocker fix版のインストールが必要です。

自動補正モードを使用する場合の注意点ですが、bd_さんのカスタム版を使用する場合、PC側のOpenVR-SpaceCalibratorのウィンドウを開いた状態(デスクトップ画面に表示させた状態)で使用してください。最小化した状態で使用すると負荷が高く、5~10fpsほどfpsが下がります。バグの類だと思いますが、この問題を解消したものがbd_カスタム+hyblocker fix版となりますので、こちらを使用すれば最小化した状態でもfps低下を招くことはなくなりました。

キャリブレーションの手順通り起動していれば、その機器の選択はそのままでキャリブレーションモードに移行するだけで大丈夫です。
Pico4での自動キャリブレーションはbd_カスタム+hyblocker fix版であれば情報取得も起動してすぐに行われるようになっています。

他のTrackerの電源も入れてしまっている場合は、HMDに取り付けているTrackerを選択する必要があります。

自動補正のデバイスの選択については画像を参照してください。

床の高さについて

床の高さの認識についてはPico4のプレイスペースでの床の位置に依存しています。
VRC上での床の位置と合っていない場合はPico4のプレイスペースの床設定を見直してみるといいかと思います。

詳細な設定は省きますが、OVR Advanced Settingsを使用して補正することも可能です。ただこちらで補正する場合はSteamVRを起動する度に行う必要があるため、Pico4の設定を見直した方が確実だと思います。

Picoコントローラー使用時に腰のTrackerがロストする問題について

Picoコントローラーを使用してTrackerを使っていると腰のTrackerの認識がロストする場合があります。
これについてはQuest2などでも同様に発生する問題ですが、コントローラーがゴーグルに対し、位置情報として発光しています。それがTrackerのベースステーションからの赤外線の受信を阻害してロストすることがあります。

対策としては、コントローラーをなるべく腰のTrackerには近づけない様にするか、腰のTrackerを背中側に取り付けてください。
背中側に取り付ける場合は、ベースステーションが2台以上設置され、360度トラッキングか可能な状態にしている必要がありますが、コントローラーによる腰のロストは回避することが可能です。

Pico4の空間ズレを起こす要因について

Pico4は下方に向いている2つのカメラで床を認識しています。
床に反射するものがあったりすると床の状態を正しく認識できず大きなズレを発生させる原因となります。
また、使用を続けていると、レンズ汚れによってカメラの認識状態が低下する場合もあるので、レンズを綺麗に拭いてみるといいかもしれません。

この記事が気に入ったらサポートをしてみませんか?