見出し画像

HTC Vive XR Elite 初期設定の覚え書き(ベースステーション編)


はじめに

私は以前からベースステーションを使用していることを留意してください。
以下もお読みいただけると幸いです。

用意するもの

・HTC Vive XR Elite
・ベースステーション
・BS対応コントローラー(左右)
・HTC Viveトラッカー(ULTIMATEじゃない物)または 互換品 1個
・トラッカードングル(トラッカー+コントローラ左右分)
・OpenVR-SpaceCalibrator

ベースステーションの設定

ベースステーション(以下BS)は直接対応しているHMDではないため、手動でリンク先の設定を行ってください。

複数台の設置を行う場合のチャンネル設定も自動では行われないために手動で行う必要があります。BS1.0と2.0で若干方法が異なります。

全てのBSを設定した後は電源のみ接続してあれば問題ありません。

コントローラとトラッカードングル

BS対応コントローラーやトラッカーを使用するにはドングルが必要です。
トラッカーには1つにつきドングル1個が付属します。

しかしながらBS対応コントローラーには付属しません。本来であればHTC ViveやValve IndexなどのBS対応HMDでは2つ分の接続が出来るようになっており、そこにコントローラー左右が接続されるという仕様になっています。

つまりBS対応コントローラ左右用にドングルが2つ必要になります
そのためにはViveトラッカー互換のTundraトラッカーなどで使われているようなドングルを購入するのが早いと思います。
もしくは中古のViveトラッカー(2018)などは安くなっていると思われるので、ドングル目当ての購入もありでしょう。

ストアで販売されている"VIVEワイヤレスドングル"はUltimateトラッカー用なので注意しましょう。今回必要なドングルは個別販売はありません。

他の方法にはBS対応のHMDをドングル代わりに起動しておく方法もありますが、後ほど設定する座標や接続の安定性が下がるのでおすすめしません。
できれば電源を切っておきましょう

HMDにトラッカーを付けよう

本来はBS対応していないXREliteをBSで位置を特定するために、HMDの上部にトラッカーを付けることでBSに対応させます。

HMDの前上部に斜めにトラッカーを付けるアダプター

Boothなどで色々な形状や対応で販売されているものを利用しましょう。
私は3Dプリンターでトラッカーを取り付けるパーツを作成しました。

XREliteでは上部に排気口があるため、それを避けるように取り付けます。
Viveフェイシャルトラッカーを取り付けている場合には、その上部に取り付けるようにするといいでしょう。

SteamVRに認識させよう

BS、トラッカー、BS対応コントローラを認識させていきましょう。

Steamをセットアップしたフォルダを開きます。(SteamVRではない) 中のconfigフォルダからsteamvr.vrsettingsというファイルを開きます。 "steamvr"を検索して"activateMultipleDrivers" : true,が無い場合には追加します。 SteamVR 2.0.0 以前は他にも必要でしたが現在は必要ありません。

"steamvr" : {
   "activateMultipleDrivers" : true,


今回はHMDが起動していなければいけないため、VIVEストリーミングハブを使いHMDをSteamVRに接続しましょう。
VirtualDesktopでも可能ですがVIVEストリーミングハブで問題ありません。
XREliteのコントローラも必要ですので、通常と同じく使用します。

1.BSの電源を入れて起動しておきましょう。
2.Viveトラッカーの電源ボタンを押して起動します。
3.SteamVRからデバイス>コントローラのペアリングを選びます。
HTC Viveトラッカーを選択して、説明にしたがい接続します。

SteamVRのコントローラのペアリング画面

4.トラッカーの接続が完了するとBSも認識してSteamVRに表示されます

XRElite、XREliteコントローラ、BS2つ、トラッカーを認識している

5.SteamVRの設定>コントローラ>トラッカーの管理から、接続しているトラッカーの名前を確認します。"LHR"から始まる名前があると思います。互換トラッカーによっては違うのでよく確認しましょう。

6.同じようにBS対応コントローラを認識させていきます。
デバイス>コントローラのペアリングからBSで使用するコントローラを選択してペアリングを完了しましょう。

7.トラッカーやコントローラのアイコンに"!"などの表記があるときには、アイコンにマウスを合せると内容が表示されます。
ファームウェアの更新などであれば、デバイス>デバイスの更新から説明にしたがって更新してしまいましょう。

8.全て完了したら一度終了しましょう
このままでもSteamVRで認識してUnityなどで使えます。位置座標を簡単に合せるためOpenVR-SpaceCalibratorをセットアップします。

OpenVR-SpaceCalibratorのセットアップ

OpenVR-SpaceCalibratorとは

SteamVRなどで使えるOpenVRの拡張APIです。
インサイドアウトトラッキング用に、様々なHMDとトラッカーなど空間認識の違うもの同士の位置座標を合せるためのキャリブレーターです。
Ultimateトラッカーでも使用します。
Focus3とXREliteのBusiness+に含まれるVIVE Business Streamingならば標準で使用できる機能です。QuestやPicoと違うBSと商用のViveならではですね。

今回は、継続的にズレを修正する自動キャリブレーション機能の為に、別のユーザーのカスタム品をセットアップします。

OpenVR-SpaceCalibratorのダウンロード

上記のリンクがベースとなるOpenVR-SpaceCalibratorになります。
ですが既に更新が終了しているのと、他のユーザーが継続的にズレを修正する自動キャリブレーションを追加したカスタム品を使用します。
ベースとなるものなのでこちらを先にセットアップしてから行うとスムーズに進みます。

ベースをbd_氏がカスタムしたものを、さらにHyblocker氏が改良したものになります。前2つはプロジェクトが終了しているので3つ目を選びます。
OpenVR-SpaceCalibrator.exeをダウンロードしてセットアップします。
先にベースをセットアップしている場合にはアップデート表示が出ますので重ねてアップデートしましょう。

前2つより規約が増えており、Windowsにフックするためのライブラリを使っている為でしょうが、気になるようであればbd_氏のカスタムでよいと思います。フックされないので非アクティブ時にはFPSが下がりますが。

またWindowsへのフックの関係で、セキュリティソフトに弾かれたり、マルウェアとして認識される可能性があるので、セキュリティソフト側での設定が必要な場合があります。

OpenVR-SpaceCalibratorの使い方

セットアップが終了したらPCの再起動を行います。
その後、SteamVRがトラッカーを認識している状態まで進めます。

SteamVR設定>スタートアップ/シャットダウン>スタートアップオーバーレイアプリの選択アドオンの管理にある、SpaceCalibratorをオンにします。またOpenXR>OPENXR APIレイヤーの管理の設定が変わっている可能性があるために確認しておきましょう。

スタートアップのSpaceCalibratorがオンになっている場合には、SteamVRの起動時に下記のウィンドウが同時に起動しているはずです。

OpenVR-SpaceCalibrator

左のReferenceSpaceにはvive_eyesを選択した後、使用するHMDを選択
右のTargetSpaceにはlighthouseを選択した後、HMDに付けたトラッカーを選択します。

両方を選んだらStart Calibrationを押してキャリブレーション開始します。
ゲージが100%になるまで適度に動かします。8の字を描くと確実です。
Finished calibration, profile savedという表示がされれば完了です。
Calibration failed.になる場合は再度キャリブレーションしましょう。
HMDと頭のトラッカーの組み合わせであればほとんど失敗しません。

一度キャリブレーションに成功した後は、Continuous Calibrationのボタンを押します。これによりHMDのスペースとトラッカーの座標を自動的にキャリブレーションし続けます。これにより時間経過によるズレが発生するたびにキャリブレーションをする必要がないので、また設定しておけばSteamVRを再起動しても同様にキャリブレーションできるので便利です。

これらによってBS対応コントローラの位置をHMD(トラッカー)の位置座標を中心に取得するため、HMDとコントローラの位置ズレが少なく、また自動キャリブレーションで時間経過で発生するズレも抑制することが出来ます。

さらに言えば、ViveトラッカーなどのBS対応トラッカーを追加することで、フルトラッキングも可能になります。
Ultimateトラッカーを使わずともフルトラッキングができるわけですね。

コントローラのバインド管理を行う

BS対応コントローラのバインドの管理からキーの設定が必要になります。
SteamVR設定>コントローラ>コントローラのバインドの管理
"アクティブなコントローラ"は"vive_focus3_controller"になっているかもしれませんが、トラッキングしているBS対応コントローラは普通に使えます。

アクティブなコントローラのバインドをカスタムにして、"他を選択"のボタンを押して進みます。そこで"現在のコントローラ"をBS対応コントローラに変更した後にバインド設定を行いましょう。

OVR Advanced Settingなどを入れている場合は、この画面ではバインドが変更できない場合がある為、実際に動かすVRアプリケーションを起動した後に設定しましょう。

ここまでと注意点

基本の設定は完了になります。
ここまで読んでいただきありがとうございました!

注意点と面倒な点

XREliteのコントローラの電源とトラッキングは切れない、ということです。
電源を切るとXREliteの画面にコントローラの接続を行うように出てきます。そしてこれを消す方法がありません。海外フォーラムでも話題には上がりますが……。後々のバージョンアップに期待でしょうか。

一応はVirtualDesktopであれば使うコントローラを設定できますが、コントローラの電源を切ることが出来ないことには変わりありません。
まあそれ以外は普通に使えると思います。

BS対応コントローラにも使えるのは余禄で、フルトラッキングなどのViveトラッカーを使った座標取得の為に使われるものなので仕方ありませんね。

HMDにトラッカー付ける必要なくない?

はい。Focus3やXREliteなら無くてもVIVE Business StreamingとBS対応コントローラを対象に設定するだけでも出来なくはないようです。
しかし、HMDとコントローラの位置座標の精度は下がりますし、自動トラッキングをすることは困難になります。
あくまで継続的な自動トラッキングを目的にしたものですし、Viveトラッカーでフルトラッキングするのであればズレが大きくなるので、結局は必須ということになるでしょう。

QuestやPicoでも同様の方法でトラッキングできるので、HMDにトラッカーを付けるのは同じ使い方をしている人が多いという利点があります。
そちらから情報を得ることができるのは大きいですね。

BS対応HMDをコントローラ接続に使うのはダメなの?

ダメではないです。
ただHMDは頭専用のトラッカーとコントローラ接続の為のドングル2個が内蔵されている機器だと思っていただければよいのですが、頭専用のトラッカーという点が邪魔になります。

VRプラットフォームによっては、"HMDに取り付けたトラッカー"よりもHMD自体を優先して"頭"として認識してしまうことがあります。
そうした場合に頭とトラッカーの位置に大幅なズレが発生します。

近い位置のもので補正する機能で、離れた位置のHMDが除外されていても、普段は大丈夫だけど対象が変わってトラッキングが飛ぶ原因にもなります。
安定したトラッキングにはマイナスなので使わないことが推奨されます。

頭と両手でドングルが3つも増えるという欠点がありますが、BSを使わない機器でBSを使うのだから仕方ないところではあります。
コントローラーを使わずにフルトラッキングの為にこれらをやるのであれば、Ultimateトラッカーを使った方が簡単かもしれませんね。

以上!


この記事が気に入ったらサポートをしてみませんか?