多分N番煎じの情報だと思うが一通り確認したので。
外部からトラッカーのバッテリーを確認したい(Neosとか)。
有名なものとしてVIVEBatteryInfoがあるけども公開配布版では4個以上つなぐことは想定されていなさそう。有償版の更新情報を見る限り、5台以上つなぐと映像が崩れるらしい。
色々調べてたらOVRToolsからバッテリーの残量含めた各種情報を確認できるツールがあった。
https://github.com/OVRTools/OpenVRDeviceBattery
手ビルドする必要あるけどもgithub/workflowsも用意されているので面倒な場合はそちらを少し修正すれば使えそう。
手ビルドする際の手順
- Visual Studio 2022 をインストール(多分BuildToolsだけでOK。CUIが面倒ならCommunity入れてね)
# BuildToolsの場合 winget install Microsoft.VisualStudio.2022.BuildTools # Community(全体) winget install Microsoft.VisualStudio.2022.Community
- Git Cloneするか、Codeから[Download Zip]
git clone https://github.com/OVRTools/OpenVRDeviceBattery.git
- Developer Powershell for VS 2022をスタートメニューより起動し、展開・クローンしたディレクトリに移動後下を入力
msbuild OpenVRDeviceBattery.sln /t:Build /p:Configuration=Release /p:Platform="Any CPU" Compress-Archive -Force "OpenVRDeviceBattery\bin\Release\*" "OpenVRDeviceBattery.zip"
ビルド済みデータが生成されるので /bin/Releaseにあるファイル群をコピーするか、生成したzipを適当なところで解凍して使う。
実際の動作イメージはこんな感じ。それぞれのトラッカー以外にもベースステーションの動作状況やHMDの状況も取れる。
HMDについても情報が取れる(今では使われていなさそうなパラメータもちらほら)。
それぞれのトラッカーについてもこんな感じ。ModelNumber/SerialNumberを見ればよさそう。
ざっくりと見た感じ、ここら辺の情報をまとめてWebSocketで送ればよさそう。
Prop_SerialNumber_String
Prop_DeviceIsWireless_Bool
Prop_DeviceIsWireless_Bool
Prop_DeviceBatteryPercentage_Float
P.S. OpenXRで取ろうとしたけど定義上なさそう。残念。
(ざっくりとSpecとヘッダ読んだだけなのでもしあったら教えてください)。