技術と開発

SlimeVR(スライムVR)Compatibility Modeについて(cluster不具合対応)

seironsyugi

SlimeVR Serverで最新版の場合、clusterでトラッキングできない現象があり、以前SlimeVR Serverを過去のバージョンに戻す方法を記事にしました。

あわせて読みたい
SlimeVR(スライムVR) Server 過去のバージョンに戻す方法
SlimeVR(スライムVR) Server 過去のバージョンに戻す方法

結論から言うと、SlimeVR ServerとSlimeVR-OpenVR-Driverのバージョン変更せずとも、clusterを遊べる機能があるのでご紹介します!

KooTA
KooTA

知っている人は当たり前にやっているかもですが、私自身ずっと気づかずにバージョンを下げて運用していたので、
困っている方の助けになれば幸いです!

環境によっては上手くいかない可能性もあります。

弊社の「ららとら」シリーズは専用のサポートサーバーがあります。
詳しくはこちらの記事をご確認ください。

環境によっては上手くいかない可能性もあります。

弊社の「ららとら」シリーズの場合は、サポートサーバーがありますので、
詳しくはこちらの記事をご確認ください。

あわせて読みたい
SlimeVR共通サポート窓口のご案内【日本人開発者・購入者向け】
SlimeVR共通サポート窓口のご案内【日本人開発者・購入者向け】

【結論】 SlimeVR Compatibility Modeの設定方法

SlimeVR Server の最新バージョンをすでにインストールしている想定で記載しています。

インストールがまだの方は下記からダウンロードしてください。
SlimeVR
https://slimevr.dev/

設定はデスクトップから行うことが可能です。今回はデスクトップから設定します。

非常に簡単で下記の順番で設定できます。

SteamVR起動後、左上のハンバーガーメニューから
設定をクリック
SteamVR設定画面で詳細設定を表示→ SlimeVR → Compatibility Mode をEnable
にすることで有効になります。
その後、SteamVRを再起動することで設定が適用されます!

バージョンを変更しないメリット

SlimeVR ServerとSlimeVR-OpenVR-Driverのバージョンが一致していることで、SteamVRの詳細設定からアクセスできるSlimeVR-Bindings-Provider を活用できます!

これでコントローラのバインディングを変更することで、リセット動作をコントローラに割り当て可能になります!
詳細はSlimeVRの公式サイトに記載があるので、見てみてください。

スライム君
スライム君

翻訳を活用しよう!

※私の環境では最新バージョンのSlimeVR Serverに古いSlimeVR-OpenVR-Driverを適用していると設定が見えなかったので、このように記載しています。

Setting up Reset Bindings
https://docs.slimevr.dev/server/setting-reset-bindings.html

Compatibility Modeとは

SlimeVR公式でもあまり説明がないのですが、SlimeVR-OpenVR-Driver v5.0.0のリリースノートと機能追加のプルリクエストのコミットメッセージに以下の記載があります。

v5.0.0
https://github.com/SlimeVR/SlimeVR-OpenVR-Driver/releases/tag/v5.0.0

プルリクエスト Add ‘compatibility mode’ option to use VIVE tracker input profile- #75
https://github.com/SlimeVR/SlimeVR-OpenVR-Driver/pull/75

リリースノートより引用
Add ‘compatibility mode’ option to use VIVE tracker input profile
コミットメッセージより引用
SteamVR only exposes trackers
through XR_HTCX_vive_tracker_interaction when
their Prop_ControllerType_String is vive_tracker_[role], but if we set
that in our input profile unconditionally, it will bring back the ‘no
bindings’ popup on Vive Tracker (Chest) for everyone

以下はAIを使って要約させてみました。

要点
  • SteamVRは、機種名が vive_tracker_腰 のような Vive Tracker名のときだけ、一部アプリへトラッカーを渡す
  • 常にVive名にすると、VRChatで「Vive Tracker (Chest) のバインディングがない」ポップが全員に戻る
  • だから Advanced Settings のオプションにした

なぜデフォルトOffで、ClusterではOnが必要か

ドライバ v4 で、VRChatの胸トラッカー用バインディング警告を消すために SlimeVR独自プロファイル に切り替えました。

VRChatはこれで問題ありません。
一方 Cluster などは「Vive Trackerとして公開されているか」を見るので、Off だと認識しません。

Compatibility Mode は、その独自プロファイルを一時的に古い見せ方へ戻す設定です。

Cluster用にOnのままで問題なければ、そのままで大丈夫です。
VRChatで胸トラッカーのバインディング警告が出たら、そのときだけOffにする、という使い分けになります。

あわせて読みたい
欲しいVRトラッカーが無かったので開発しました。-理想を形にし続けるSlimeVR対応トラッカー「ららとら」、新モデル公開-
欲しいVRトラッカーが無かったので開発しました。-理想を形にし続けるSlimeVR対応トラッカー「ららとら」、新モデル公開-

環境によっては上手くいかない可能性もあります。

弊社の「ららとら」シリーズの場合は、サポートサーバーがありますので、
詳しくはこちらの記事をご確認ください。

あわせて読みたい
SlimeVR共通サポート窓口のご案内【日本人開発者・購入者向け】
SlimeVR共通サポート窓口のご案内【日本人開発者・購入者向け】

Xからコメントをお待ちしています。
ブログ更新の励みになります!
記事URLをコピーしました