Oculus Rift Sでフルトラッキング環境を構築した(メモ)

※2021/5/31 追記

Viveトラッカーの新型が発売された影響か、従来のトラッカー(2018)が定価になって買いやすくなったので、この機にトラッカー3個によるフルトラッキング環境を構築してみました。

以下、その知見などをメモ書き。

用意するもの

  • Oculus Rift S HMD
  • Oculsu Touchコントローラー x2
  • HTC Vive ベースステーション1.0 x2(1個でも良い)(以下、BS)
  • HTC Vive トラッカー(2018) x3

BS、トラッカー固定具

  • 突っ張り棒 x2
  • ダイソー フレキシブル三脚 x2
  • ダイソー キャンバス風ベルト
  • ダイソー ひざ用サポーター(2枚入)
  • ダイソー 結束バンド30cm(20本入)

BSを固定する

諸事情で穴を空けたくないので突っ張り棒を使いました。

支えがしっかりしてると嬉しいのでドンキでちょっと高いのを購入(1本1000円程)

BSについては、ダイソーで買ってきたフレキシブル三脚を使って固定します。

スマホの固定具の部分を外すと1/4ネジのオスが出てくるので、ここにBSをはめ込むことができます。

三脚部分はゴリラポッドみたいに自由に変形できるので、ずり落ちない程度に突っ張り棒に巻き付けて固定させます。正直これで固定できるとは思ってなかった

トラッカーを固定する

ここら辺はどう固定するかは人次第なところがありますが、自分はとりあえずダイソーで買ってきたベルトとひざ用サポーターに結束バンドで固定する形にしました。

注意点として、トラッカーは回転軸も認識するので、締め付けがガバガバでトラッカーの向きや傾きが変わるとゲーム上で動きが破綻します。しっかりと固定してあげましょう。

BSとトラッカーの設定をする

トラッカー

ドングルとドングルクレードルをPC本体のUSB3.0ハブに挿します。(トラッカー1個につき1つの空きが必要)

PC側で、Watchman Dongleデバイスがトラッカーの個数分インストールされているのを確認します。

BS

付属のACアダプターを接続します(コードが意外と短いので必要に応じて延長コードを買う)

勝手に電源が付くので、BSの左のセグメントに表記されている英字を確認します。(チャンネルと言います)

BS2台のチャンネルに被りがないかを確認します。もし被ってたら後ろのボタンでA~Cを切り替えできます。

一旦片方のBSのACアダプターを抜き、電源を落とします。(重要)(定位置の後ろにあたるBSの電源を落とすとよい)

PC側

SteamのストアからOpenVR Advanced SettingsをDLしてインストールします。(無料)

OVR Space Calibratorを製作者のGithubからDLしてインストールします。

トラッカーのペアリング

HMDはまだ被らなくていいので、SteamVRを起動します。

SteamVR左上のハンバーガーボタン>デバイス>コントローラのペアリング と進みます。

トラッカーの説明書や、SteamVRの指示に従ってペアリングしても上手くペアリングできませんでした。なのでチートを使います(?)

トラッカーの電源ボタン(ロゴの部分)をまず1秒押し続けて離します。LEDが青色に点灯します。

点灯を確認したら今度は電源ボタンを3秒くらい長押しします。今度はLEDが点滅します。

点滅を確認したらボタンから手を離します。うまくいくと緑色に点灯します。これで成功です。

同じ要領で2個目、3個目のトラッカーをペアリングさせます。SteamVRがドライバーの更新を奨めてくる場合があるので、必要な場合は更新します。一旦ドングルクレードルからMicroUSB端子を抜いても大丈夫です。うまくいったら抜いた端子はドングルクレードルに挿し直し、一旦SteamVRを再起動します。

BSのペアリング(?)

ベースステーションが起動していてもSteamVRのウィンドウにはBSのアイコンが確認できません。

SteamVR左上のハンバーガーボタン>デバイス>ベースステーションの設定 と進むとブルートゥースを云々、と書かれていますが、Oculusでフルトラする場合はBluetoothは使いません。深く調べずにアダプタ買っちゃった(1敗)

今片方だけ起動しているBSを軽く揺らすか、チャンネルを変えます。すると運が良ければSteamVRがBSを認識し、アイコンが表示されます。

同時にSteamVRがBSドライバーのアップデートを推奨してきますが、気が向いたらで大丈夫です。

OVRでキャリブレーションする

以降、SteamVRを起動してフルトラする際に毎回必要な作業です。 キャリブレーション情報をそのまま使うことができるので、基本的に初回以降の毎回のキャリブレーションは不要です。

先程SteamVRを再起動したタイミングでトラッカーの電源が全部切れていると思うので、1個だけ電源をオンにします。(1秒ほど長押しするだけで大丈夫です)

BSのトラッキング範囲内にペアリングしたトラッカーを持っていき、トラッキングされているかどうかを確認します。SteamVR側でアイコンが点滅していなければ正常にトラッキングされています。点滅している場合はBS側が何か都合悪い感じなので、チャンネルを変えたりちょっと揺らしてみたりして直します。

トラッカーのキャリブレーションをします。

SteamVRを起動すると自動でOpenVR SpaceCalibratorというウィンドウが開くので、

Reference SpaceをOculusの左コントローラに、Target Spaceにトラッカーを指定します。

この時点でトラッカー3個すべての電源をつけていると、どれがどのトラッカーだかわからなくなってしまいます。だから、他2個は電源を切る必要があったんですね。(構文)

HMDを被り、Touchコントローラの上に雰囲気でトラッカーを乗せ、左コンのOculusボタンを押してSteamVRのメニューを開き、VR上でOpenVR SpaceCalibratorを開きます。

設定を確認したら、Calibration Startを押してキャリブレーションを開始します。(事前にCalibration SpeedをVery Slowにしておくと精度が良くなるらしい)

GoogleマップのGPSキャリブレーションのように、コントローラとトラッカーが雰囲気で一体になったものを8の字に動かします。とりあえず進捗バーが出ている間はずっと。終了したら座標情報の表示と共に、VR上でトラッカーの位置が確認できるようになります。腰や足を動かして確認してみましょう。

簡易トラブルシューティング
Calibration Aborted!と出てキャリブレーションができない

大抵はSteamVRがBSを認識していないのが原因なので、先述の方法でSteamVRに認識させます。

また、BSを2台起動しているとトラッカーをトラッキングしてくれないという謎現象が起きるっぽいので、キャリブレーション時はBSを1台だけ起動しておいたほうがいいのかもしれません。

キャリブレーション後、足を前に動かしたらゲーム上では反対に足が動く

キャリブレーションミスなのでもう一回キャリブレーションします。

対応ゲームで確認する

VRChatとかで動かしてみて、良さげだったら設定完了です。お疲れさまでした。

VRChatでもゲーム内キャリブレーションが必要ですが、この時コントローラやトラッカーの位置を無理してアバターの身体に合わせなくても大丈夫です(アバターと同じポーズを取ればOK)

しばらく動かしてみて腰や足が歪み始めた場合、固定具のゆるみを確認して再びキャリブレーションします。

ちょっと屈んだ姿勢になった場合は、VRCの身長設定を見直しましょう。

おまけ:Quest2でもフルトラ環境を構築する

基本的に上記の作業を一通りこなせば、Quest2でもフルトラッキングできるようになります。Virtual Desktopによる無線フルトラッキングは多少の画質が犠牲になりますが、踊る際にケーブルのことを気にしなくてよくなるので爆アドです。

Rift Sのフルトラ環境を構築した際のキャリブレーション情報はそのまま使えないので、Quest2でもフルトラしたい時は改めてキャリブレーションをする必要があります。

注意:Virtual Desktopを使用中の場合、Touchコントローラ右のOculusボタン長押しで正面をリセットすると、キャリブレーション位置がズレることがあります。

おわり

あとは好きなように女の子になったらええ

SteamVRを起動するごとに「OVRでキャリブレーションする」で書いた設定・キャリブレーションを繰り返す必要があるので割とだるいです。 基本的に必要なし

今のところこれでフルトラできていますが、今後何かつまづいたことがあれば追記します。

いやしかしトラッカーの稼働時間意外と短いな…… 4時間ほどであればなんとか。

Leave a Reply

Your email address will not be published. Required fields are marked *