HaritoraXをSlimeVRで使う「SlimeTora」

アルファ版を経て、ようやく正式版がリリースされたのでご紹介します。

2024/06/22:バージョン1.1.0にアップデートされました。有線のHaritoraXにも対応しました。
2024/10/06:バージョン1.3.0にアップデートされました。十分な機能を搭載したことや制作側のちょっとした事情のため、SlimeToraは本バージョンを以ってメンテナンスモードに入ります。

※バージョン1.3.0は一部の翻訳がされないバグがあったので、修正を確認次第日本語訳が更新される予定です。それまでは古い翻訳のままだったり一部が英語表記になりますが、動作に支障はありません。

SlimeToraって何?

「SlimeTora」はShiftall社のワイヤレスモーショントラッカー「HaritoraX」を「SlimeVR」で利用できるようにするオープンソースソフトウェアです。ライセンスはMITでWindows/Linux対応です。

元々BracketProto氏が作ったBluetooth接続でのみ利用できる接続用アプリでしたが、2024年の3月頃からJovannMC氏によるGX6/GX2ドングルへの対応と全体的な書き直しが始まり、5月に幾つかの新機能を搭載してバージョン1.0.0としてリリースされました。

Releases · OCSYT/SlimeTora
Connect the HaritoraX trackers to the SlimeVR server - OCSYT/SlimeTora

単体で利用する純正の「Haritora Configurator」とは異なり、「SlimeTora」は「SlimeVR Server」と組み合わせて利用します。基本的には「SlimeVR」への橋渡しを行うアプリですが、「Haritora Configurator」のようにセンサー動作モードの切り替えや各センサーの自動補正の有効化、姿勢データ送受信頻度の変更なども行えるようになっています。

リリースに先立って日本語対応へのお手伝いをしましたので、日本語で表示できます。誤訳がありましたら修正してプルリクエストを投げて貰えればと思います。

非公式のソフトウェアとなりますので、SlimeToraを使用したことによる故障やトラブルについてShiftall社へ問い合わせることのないようお願いします。
また、使用するかどうかは自己責任であり、本ソフトウェアの使用にて生じた故障や損害に関しては、当サイトは一切の責任を負いかねます。予めご了承ください。

簡単に動作確認してみた動画

手元の環境では大きな問題もなく、スムーズに動作しました。「SlimeVR」のヨーリセットが便利でいいですね。

GX6ドングルで接続するときの使い方

使用するトラッカーが「HaritoraXワイヤレス」かつ専用ドングル用のモードになっている前提で説明をします。

接続モードの切り替えや8の字キャリブレーションなど、HaritoraXワイヤレス本体の操作はShiftall公式のドキュメントを参照してください。

HaritoraX Contents Index - 株式会社Shiftall
HaritoraXシリーズのマニュアル、説明動画をご紹介します。

COMポートを選択して接続する準備を行う

トラッカーはHaritoraXワイヤレスを使うので選択します。

全般設定の接続モードの欄で、「COMポート / GXドングル(6/2)」のスイッチを有効にして、GX6ドングルで使用しているCOMポートを3つ選択します。COMポートは規定で4つまでしか選択できないようになっています。

ポート番号は、「デバイスマネージャー」を開いて「ポート(COMとLPT)」の欄を確認すると、「USBシリアルデバイス(COM*)」と書かれた項目が3つ並んでいるはずですので、その番号を選べばOKです。

これは環境によって番号が異なります。また、他にもUSBシリアルデバイスが存在する場合もありますので、どれが該当するのかひとつずつ試してみてください。

(GX2ドングルも併用する場合は4つ選択します。ポート制限をバイパスする設定にすると、4つ以上選択しておくこともできます。)

今回はGX6ドングルで使用しますが、「Bluetooth (LE)」のチェックを入れて、同時に使用することも可能です。

SlimeVR Serverを起動しておく

「SlimeVR Server」を起動して、待機させておきます。「SlimeTora」を先に起動してエラーメッセージが出てしまっても大丈夫、メッセージを閉じてから「SlimeVR Server」を立ち上げたらOKです。

接続ボタンを押して接続開始

緑色の接続ボタンを押すと、GX6ドングル経由で「HaritoraXワイヤレス」を「SlimeVR Server」へ接続します。セットアップウィザードから設定を行う事もできます。HMDも用意して「SteamVR」を起動してみましょう。

トラッカーが繋がらない?

接続ボタンを押しても上手く接続できなかったときは、「SlimeTora」を再起動すると繋がる場合があります。その際に「SlimeVR Server」は開いたままで大丈夫です。

SlimeVRの設定をする

トラッカーが台数分認識されるので、「もちろん!」を選んで接続します。

初回の設定はセットアップウィザードに従っておきます。ボディプロポーションの設定はVRモードである必要があります。HMDを装着した状態での操作は、「SteamVR」のデスクトップ表示か、「XSOverlay」を使って行うと楽です。

トラッカーを身体に取り付けて、トラッカー割り当てを行います。「胸」「ヒップ」「右膝」「左膝」「右足」「左足」の6点を割り当てたら、ボディプロポーションとマウントキャリブレーションの設定をしましょう。

SteamVRに送る部分は「Automatic tracker assignment」のままで問題ありませんでしたが、座ったり寝ているときに挙動がおかしいときは膝(knee)をオフにした方が良いとのこと。

最初に行うボディプロポーションは、自動キャリブレーションをしてから手動調整するのがオススメです。

マウントキャリブレーションだけは接続する度に行う必要があります。自動マウントで設定すれば取り付け位置が上手く認識されるはずです。マニュアルマウントすると正しく設定が行えませんので注意。

足の位置などに違和感を覚える場合は、ボディプロポーションの手動調整をします。個人的に利用している設定を紹介すると以下の通り。

  • FK設定で「スケーティング補正」を掛けると、足が滑りにくくなります。
  • 「フロアクリップ」は足が床に埋まらないように調整します。
  • 「足の着地」は接地時に足が地面と平行になるように補正されるものです。

また、トラッカーボタンから各種クイックリセットが実行できます。

  1. “1回押す – ヨーリセット”
  2. “2回押す – フルリセット”
  3. “3回押す – マウントリセット”
  4. “4回押す – トラッキング停止/再開”

ヨーリセットはドリフトしてきたら実行してみましょう。直立が必要なフルリセットと違って、ヨーリセットは座っていても大丈夫です。マウントリセットはポジションが盛大にぶっ壊れるはずなので使わないようにしましょう。(マウントキャリブレーションをし直す羽目になります)

SlimeVRの標準機能にある通り、該当するトラッカーを数回タップしてクイックリセットする事も可能です。

マウントリセットは使わないこと。

ボディプロポーションの設定が少し大変ですが、一度行えば次回からはトラッカーを装着してマウントキャリブレーションを行うだけなので、公式ドキュメントを見ながら頑張ってみてください。(丸投げ)

  1. 直立して頭をぐるぐると回す
  2. 前に屈んで、左を見てから右を見る
  3. 右手で左足をタッチ
  4. 左手で右足をタッチ
  5. フラフープのように腰を回す
  6. 1~6を繰り返す
Body Proportions Configuration - SlimeVR Docs
https://docs.slimevr.dev/

※今はマウントキャリブレーションも初回だけ行えば記憶してくれるようになりました。おかしければ再設定してみてください。

その他

ペアリングの管理

COMポート毎にトラッカーをペアリング・ペアリング解除をしたり、チャンネルの変更をすることができます。予期せず切断された際もここで再接続が行えます。(LEDがゆっくり点滅して待機状態になっている場合)

SlimeVR側で切断されているトラッカーがどれか確認してから、該当するトラッカーを「ペアリング/ペアリング解除」ボタンを1回押して解除をし、もう1度押すことで再接続が行えます。

新規にペアリングを行う際は、サブボタンを3秒長押しして接続をします。

電池残量を確認する

「SlimeTora」を使うと「SteamVR」にトラッカーの電池残量も送信されるので、「XSOverlay」などのアプリからトラッカー毎に電池残量を確認することができるようになります。

但し、バージョン1.0.0では全トラッカーのうち最も低いバッテリー残量だけをSlimeVRへ通知します。また、トラッカーをBluetooth接続している場合は、電池残量が通知されるまで暫く時間が掛かります。既知のバグとして、時々バッテリー残量や電圧が誤った状態で報告されることがあります。(現在は安定した平均値が送信されるようになっています)

センサー動作モードの切り替え

「Haritora Configurator」で接続した際に、インジケーターが緑や黄色で地磁気が安定している場合は「モード 1」で、赤色になっている場合は「モード 2」にしておきます。

初期設定は「モード 2」なので、そのままでも問題はありません。

姿勢データ送受信頻度の変更

50FPSか100FPSのどちらかを選択できます。Bluetooth接続の場合は、50FPSの方が安定するかもしれません。

各センサーの自動補正

こちらは基本的に触らなくても大丈夫です。初期設定では加速度だけにチェックが入っているはずで、必要に応じて他も有効にしますが、「SlimeVR」側のドリフト補正だけでも十分機能するはずです。

トラッカーモデルのプレビュー表示

3Dモデルを使ってトラッカーの向きを表示できます。負荷は掛かるので必要な場合に有効にすると良いでしょう。

磁気ステータスの確認

「Haritora Configurator」のように緑~赤のインジケーターが表示されます。但し、実際のステータスと違ったり、「不明」を表す灰色の表示になる事もあります。

トラッカーボタンの動作

バージョン1.1.0から、トラッカーボタンをサポートするようになりました。1回押すとヨーリセット、2回でフルリセット、3回はマウントリセットです。4回押すとトラッキングを一時停止します。

トラッカー毎の設定を上書きする

トラッカー内部の設定を変更します。この機能を使うとトラッカー毎に設定が可能になるので、モード 1とモード 2を混在させて動かす事ができます。

デバッグ設定

通常は特に触るところはありませんが、接続確認が煩わしい場合は「SlimeVR」のチェックをスキップするように設定できます。

トラブルシューティング

Bluetoothで使うときは?

HaritoraXをBluetoothモードに切り替えてから使用します。ちなみに、GX6ドングルとBluetoothは同時使用が可能です。HaritoraConfiguratorで使うときと同様に、Bluetoothのペアリングはしないようにしましょう。

尚、Bluetoothに関しては少々問題を抱えているようなので、上手く動作しない環境もあるようです。

HaritoraXワイヤレスが6つ全て検出されない

CSR対応のBluetoothアダプタなど、同時接続数が5つしかないものが存在します。Haritoraが正式にサポートしているものを購入するか、GX6ドングルの使用を検討してみてください。SlimeToraとSlimeVRの組み合わせでは、6つあるトラッカーを全部接続しなくても動かす事ができます。

GX6ドングル使用時、切断されると再接続できない

これまでは「Haritora Configurator」側から接続操作をしないと復帰できませんでしたが、1.3.0からは「GX(6/2)ペアリングの管理」から再ペアリングが可能なはずです。

座ったり寝転んだりするとトラッキングがおかしくなる

SlimeVRの設定にある、SteamVRのトラッカーからLeft kneeとRight kneeのチェックを外すと良いそうです。(※既知の問題)

足の前後がおかしい

SlimeVRのマウントキャリブレーションは自動マウントを使ってください。マニュアルマウントを使うと何故か正しく設定ができません。(※既知の問題)

足首検知機能は?

アルファ版の頃に実装されていましたが、トラブルがあったようなのでv1.0.0には搭載されていません。メンテナンスモードに入ったので実装はされないかもしれません。

その他の問題

SlimeToraのWikiを参照してください。

Troubleshooting
Connect the HaritoraX trackers to the SlimeVR server - OCSYT/SlimeTora

SlimeVRに慣れさえすれば良い感じ

椅子に座っても割と大丈夫。

軽く紹介しましたがこれは非公式なアプリケーションです。今後、ファームウェアの更新などで動作しなくなる可能性はあります。「HaritoraX」を「Haritora Configurator」以外で利用するのは自己責任ですが、上手く調整出来れば「SlimeVR」での動きはとてもスムーズで快適でした。

「SlimeTora」自体は難しくありませんが、「SlimeVR」での位置調整は少し大変です。ボディプロポーションの設定を上手く調整しないと足の位置に違和感があったり、座ったときに姿勢がおかしくなったりすることがありました。でもヨーリセット機能があるので、椅子に座ったままドリフトの修正が行えるのは嬉しいですよね。

「HaritoraX」で「SlimeVR」の恩恵を得る方法は他にもありますが、「SlimeTora」を使うと簡単に接続が行えます。Bluetoothと同時にGX6/GX2ドングルを使うこともできるようになります。

足も伸びるよ。

また、「Haritora Configurator」ではすべてのトラッカーを接続しないと動作しませんが、こちらの方法なら任意の個数で利用することが可能です。例えばトラッカーをひとつ紛失してしまっていても使えますし、中古やジャンクで2~3個だけ手に入れたとかでも動かせますね。(どういう状況?)

試していませんが、足(膝)の分を肘に割り当てる使い方をしても面白いかもしれません。

1.3.0を以て、開発者の方がHaritoraXワイヤレスを他人に譲ることになったので、今後のアップデートに関しては軽微な修正のみのメンテナンスモードになりました。

余談ですが、HaritoraX公式の制御アプリケーションも新しいものを作っているようなので、そちらも楽しみですね。

2024/06/23:1.1.0アップデートについて追記
2024/07/27:一応注意書きを記載

タイトルとURLをコピーしました