"OpenVR Tracking Overrides" (自分用メモ)

※改訂版

Overview

指定したデバイスのトラッキングデータを別のデバイスやドライバーのポーズデータで上書きすることができます

トリガーやタッチパッドなどのインプット、バイブレーションなどは上書きできません

How

C:\Program Files (x86)\Steam\config\steamvr.vrsettingsに以下のTrackingOverridesセクションを追加

steamvr.vrsettingsを書き換えるときは必ずSteamのタスクを落としてから

"TrackingOverrides" : {
       "【Device path(ポーズデータ参照元)】" :
       "【Device path or Semantic path(ポーズデータ上書き先)】"
},

Device path

バイス(HMD、コントローラー、トラッカーなど)固有のパス

 SteamVRの左上のタブ>システムレポートを作成>デバイス>Device Pathで確認

/devices/htc/vive_trackerLHR-00000000

/devices/vmt/VMT_0

/devices/meta/123452

 

Semantic path

Best Aliasに相当するデバイスのパスが自動で参照される

/user/head
/user/hand/right
/user/hand/left

以下詳細不明
/user/gamepad
/user/treadmill

Example

steamvr" : {
       "activateMultipleDrivers" : true
},

"TrackingOverrides" : {

       "/devices/htc/vive_trackerLHR-00000000" : "/user/head",
       "/devices/htc/vive_trackerLHR-11111111" : "/user/hand/left" 
},

 Verification&Note

参照元にSemantic pathを指定できるか

以下を記述した

"/user/hand/left" : "/devices/valve/index_controllerLHR-00000000"

上書きされなかったため参照元は恐らくDevice pathのみ有効

一つの参照元で二つのデバイスを上書きできるか

 以下を記述した

"/devices/htc/vive_trackerLHR-00000000" : "/user/hand/left",
"/devices/htc/vive_trackerLHR-00000000" : "/user/hand/right"

 SteamVRを起動すると一行目だけ消され、二行目の指定は正しく動作した

よって複数のデバイスを上書きするときはVMTなどの外部ツールが必須

(SteamVR ver 1.16.10)

Note
  • 本来Device path to Semantic pathが正しいやり方?Device path to Device pathで記述すると他のHMDを使った時に干渉しなくて便利
  • Tracking Overridesを書き加えると(steamvr.vrsettingsを書き換えると?)コントローラーやトラッカーがSteamVR上で認識していないのにペアリング済みの反応を示すことがあるが、PCを再起動することで解決できる

Reference