アルファ版を経て、ようやくバージョン1.0.0がリリースされたのでご紹介します。
SlimeToraって何?
「SlimeTora」はShiftall社のワイヤレスモーショントラッカー「HaritoraX」を「SlimeVR」で利用できるようにするオープンソースソフトウェアです。ライセンスはMITでWindows/Linux対応です。
元々BracketProto氏が作ったBluetooth接続でのみ利用できる接続用アプリでしたが、2024年の3月頃からJovannMC氏によるGX6/GX2ドングルへの対応と全体的な書き直しが始まり、5月に幾つかの新機能を搭載してバージョン1.0.0としてリリースされました。
単体で利用する純正の「Haritora Configurator」とは異なり、「SlimeTora」は「SlimeVR Server」と組み合わせて利用します。基本的には「SlimeVR」への橋渡しを行うアプリですが、「Haritora Configurator」のようにセンサー動作モードの切り替えや各センサーの自動補正の有効化、姿勢データ送受信頻度の変更なども行えるようになっています。
リリースに先立って日本語対応へのお手伝いをしましたので、日本語で表示できます。誤訳がありましたら修正してプルリクエストを投げて貰えればと思います。
簡単に動作確認してみた動画
手元の環境では大きな問題もなく、スムーズに動作しました。「SlimeVR」のヨーリセットが便利でいいですね。
GX6ドングルで接続するときの使い方
使用するトラッカーが「HaritoraXワイヤレス」かつ専用ドングル用のモードになっている前提で説明をします。
接続モードの切り替えや8の字キャリブレーションなど、HaritoraXワイヤレス本体の操作はShiftall公式のドキュメントを参照してください。
COMポートを選択して接続する準備を行う
全般設定の接続モードの欄で、「GX(6/2)」のスイッチを有効にして、GX6ドングルで使用しているCOMポートを3つ選択します。(一応)COMポートは規定で4つまでしか選択できないようになっています。
ポート番号は、「デバイスマネージャー」を開いて「ポート(COMとLPT)」の欄を確認すると、「USBシリアルデバイス(COM*)」と書かれた項目が3つ並んでいるはずですので、その番号を選べばOKです。
これは環境によって番号が異なります。また、他にもUSBシリアルデバイスが存在する場合もありますので、どれが該当するのかひとつずつ試してみてください。
(GX2ドングルも併用する場合は4つ選択します。ポート制限をバイパスする設定にすると、4つ以上ス選択しておくこともできます。)
SlimeVR Serverを起動しておく
「SlimeVR Server」を起動して、待機させておきます。これは後から立ち上げても大丈夫です。
接続ボタンを押して接続開始
接続ボタンを押すと、GX6ドングル経由で「HaritoraXワイヤレス」を「SlimeVR Server」へ接続します。HMDも用意して「SteamVR」を起動してみましょう。
トラッカーが繋がらない?
接続ボタンを押しても上手く接続できなかったときは、「SlimeTora」を再起動すると繋がる場合があります。その際に「SlimeVR Server」は開いたままで大丈夫です。
SlimeVRの設定をする
初回はセットアップウィザードに従っておきます。ボディプロポーションの設定はVRモードである必要があります。HMDを装着した状態での操作は、「SteamVR」のデスクトップ表示か、「XSOverlay」を使って行うと楽です。
トラッカーを身体に取り付けて、トラッカー割り当てを行います。「胸」「ヒップ」「右膝」「左膝」「右足」「左足」の6点を割り当てたら、ボディプロポーションとマウントキャリブレーションの設定をしましょう。
SteamVRに送る部分は「Automatic tracker assignment」のままで問題ありませんでしたが、座ったり寝ているときに挙動がおかしいときは膝(knee)をオフにした方が良いとのこと。
最初に行うボディプロポーションは、自動キャリブレーションをしてから手動調整するのがオススメです。
マウントキャリブレーションだけは接続する度に行う必要があります。自動マウントで設定すれば取り付け位置が上手く認識されるはずです。マニュアルマウントすると正しく設定が行えませんので注意。
足の位置などに違和感を覚える場合は、ボディプロポーションの手動調整をします。個人的に利用している設定を紹介すると、FK設定で「スケーティング補正」を掛けると、足が滑りにくくなります。「フロアクリップ」は足が床に埋まらないように調整するもので、「足の着地」は接地時に足が地面と平行になるように補正されるものです。
また、胸トラッカーをトントンとダブルタップするとクイックリセットが実行されます。初期設定ではヨーリセットが行われるので、ドリフトしてきたら実行してみましょう。直立が必要なフルリセットと違って、ヨーリセットは座っていても大丈夫です。左膝トラッカーをトリプルタップするとフルリセットになります。右膝トラッカーをタップするマウントリセットはポジションが盛大にぶっ壊れるので使わないようにしましょう。(マウントをキャリブレーションをし直す羽目になります)
ボディプロポーションの設定が少し大変ですが、一度行えば次回からはトラッカーを装着してマウントキャリブレーションを行うだけなので、公式ドキュメントを見ながら頑張ってみてください。(丸投げ)
- 直立して頭をぐるぐると回す
- 前に屈んで、左を見てから右を見る
- 右手で左足をタッチ
- 左手で右足をタッチ
- フラフープのように腰を回す
- 1~6を繰り返す
その他
電池残量を確認する
「SlimeTora」を使うと「SteamVR」にトラッカーの電池残量も送信されるので、「XSOverlay」などのアプリから電池残量を確認することができるようになります。
但し、これは全トラッカーのうち最も低いバッテリー残量だけをSlimeVRへ通知します。また、トラッカーをBluetooth接続している場合は、電池残量が通知されるまで暫く時間が掛かります。
センサー動作モードの切り替え
「Haritora Configurator」で接続した際に、インジケーターが緑や黄色で地磁気が安定している場合は「モード 1」で、赤色になっている場合は「モード 2」にしておきます。
初期設定は「モード 2」なので、そのままでも問題はありません。
姿勢データ送受信頻度の変更
50FPSか100FPSのどちらかを選択できます。Bluetooth接続の場合は、50FPSの方が安定するかもしれません。
各センサーの自動補正
こちらは基本的に触らなくても大丈夫です。初期設定では加速度だけにチェックが入っているはずで、必要に応じて他も有効にしますが、「SlimeVR」側のドリフト補正だけでも十分機能するはずです。
トラッカーモデルのプレビュー表示
3Dモデルを使ってトラッカーの向きを表示できます。負荷は掛かるので必要な場合に有効にすると良いでしょう。
磁気ステータスの確認
「Haritora Configurator」のように緑~赤のインジケーターが表示されます。但し、実際のステータスと違ったり、「不明」を表す灰色の表示になる事もあります。
トラッカー毎の設定を上書きする(非推奨)
トラッカー毎に内部の設定を変更することもできますが、あまり信頼できないとのことです。特別な事情がない限り、「HaritoraConfigurator」で操作することをお勧めします。
この機能を使うとトラッカー毎に設定が可能になるので、モード 1とモード 2を混在させて動かす事ができます。
デバッグ設定
通常は特に触るところはありませんが、接続確認が煩わしい場合は「SlimeVR」のチェックをスキップするように設定できます。
トラブルシューティング
Bluetoothで使うときは?
HaritoraXをBluetoothモードに切り替えてから使用します。ちなみに、GX6ドングルとBluetoothは同時使用が可能です。HaritoraConfiguratorで使うときと同様に、Bluetoothのペアリングはしないようにしましょう。
尚、Bluetoothに関しては少々問題を抱えているようなので、上手く動作しない環境もあるようです。
トラッカーが6つ全て検出されない
CSR対応のBluetoothアダプタなど、同時接続数が5つしかないものが存在します。Haritoraが正式にサポートしているものを購入するか、GX6ドングルの使用を検討してみてください。
座ったり寝転んだりするとトラッキングがおかしくなる
SlimeVRの設定にある、SteamVRのトラッカーからLeft kneeとRight kneeのチェックを外すと良いそうです。(※既知の問題)
足の前後がおかしい
SlimeVRのマウントキャリブレーションは自動マウントを使ってください。マニュアルマウントを使うと何故か正しく設定ができません。(※既知の問題)
足首検知機能は?
アルファ版の頃に実装されていましたが、トラブルがあったようなのでv1.0.0には搭載されていません。今後再実装されると思われます。
その他の問題
SlimeToraのWikiを参照してください。
SlimeVRに慣れさえすれば良い感じ
軽く紹介しましたがこれは非公式なアプリケーションです。今後、ファームウェアの更新などで動作しなくなる可能性はあります。「HaritoraX」を「Haritora Configurator」以外で利用するのは自己責任ですが、上手く調整出来れば「SlimeVR」での動きはとてもスムーズで快適でした。
「SlimeTora」自体は難しくありませんが、「SlimeVR」での位置調整は少し大変です。ボディプロポーションの設定を上手く調整しないと足の位置に違和感があったり、座ったときに姿勢がおかしくなったりすることがありました。でもヨーリセット機能があるので、椅子に座ったままドリフトの修正が行えるのは嬉しいですよね。
「HaritoraX」で「SlimeVR」の恩恵を得る方法は他にもありますが、「SlimeTora」を使うと簡単に接続が行えます。Bluetoothと同時にGX6/GX2ドングルを使うこともできるようになります。
また、「Haritora Configurator」ではすべてのトラッカーを接続しないと動作しませんが、こちらの方法なら任意の個数で利用することが可能です。例えばトラッカーをひとつ紛失してしまっていても使えますし、中古やジャンクで2~3個だけ手に入れたとかでも動かせますね。(どういう状況?)
試していませんが、足(膝)の分を肘に割り当てる使い方をしても面白いかもしれません。
余談ですが、HaritoraX公式の制御アプリケーションも新しいものを作っているようなので、そちらも楽しみですね。
HaritoraXを制御する新アプリ※がだいぶ出来上がってきましたので、動きを見て頂きたくて動画にしました! 足が曲がる、立位体前屈で足が浮く、腰ひねり時の足ズレ等の解消はもちろん、他にも大量の改善点・新機能を盛り込む予定です。近日Discordでベータ版配布予定です
※無印Haritoraは非対応 pic.twitter.com/87wrPKMK3d
— 株式会社Shiftall (@shiftall_jp) April 19, 2024