VIVE Ultimate TrackerをUEで使えるようにするまで

# はじめに
VIVE UltimateTrackerをUEで使えるようにするまで、（特にキャリブレーション周りが）ややこしいぞということでまとめました。

# VIVEでTrackerを使えるようにするまで
概ねここに書いてあります。
[VIVEトラッカー (Ultimate)の設定](https://www.vive.com/jp/setup/vive-ultimate-tracker/)
### 1.VIVE Hubのダウンロード

[インストーラーダウンロードページ](https://www.vive.com/jp/vive-hub/download/)
お持ちの方は2.1.3b以降のバージョンであることを確認

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/44faf348-8067-4ad8-a82e-a6403feb7022.png)

ダウンロードしたインストーラーを開き、VIVE Ultimate TrackerとPCVR（というかSteamVRを使うようなもの）を使う場合はVIVE Streamingを最低含んでダウンロードします。
全部入れてしまって問題ありません。

### 2.ドングルをつなげる

ドングルを出します。
![20250318_091452881.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/4615fc33-72d0-4966-a172-7a968c328012.jpeg)

上面についてるドングルマークのほうにドングルを刺します

![20250318_091515420.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/bef74600-759a-4bc2-bdf3-23b6b2b291a5.jpeg)

付属のコードや公式ページは「C-C」で接続と言っていますが、「A-C」でも行けます。
CコネクタはVRのほうに使いたい…という場合も安心ですね

### 3.VIVE Hubでセットアップを行う
トラッカーのセットアップをします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/034aaaca-412d-49dd-a0d6-a8310f21bd45.png)
#### ペアリング

トラッカーのペアリングから新規ペアリングをします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/a68d20c0-9e43-4416-aa1b-81ee910182bc.png)

Ultimateトラッカーの電源ボタンを押して電源を起動、そのあと２秒長押ししてペアリングモードにします。
VIVE Habにアイコンが表示され、Ultimateトラッカーのランプが緑になったらペアリング完了です。

#### セットアップ（キャリブレーション）

トラッカーのセットアップから設定の開始をします。
ドングルが接続されているかチェックされます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/72663478-337e-4986-bbcd-bb04e3f642ce.png)

通ったらトラッキングマップをUltimateトラッカーを使用して作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/663f5230-8c03-4a7b-b284-ebc52fe4a7b7.png)

点滅しているUltimateトラッカーの電源ボタンを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/55c6513d-e0d0-444d-b75b-c7c8a4a0c5be.png)

エリアの設定が始まります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/16be39f1-a52b-42b2-b0fc-52ae3495b514.png)
エリアの中心にしたいところで電源ボタンを押します。
この後Steam VR側でキャリブレーションするときの原点にもなるので、動き回れるスペースを確保してください。

下側で４方向、胸の高さで合計8方向のキャリブレーションを行います

![tracker_setup 2025-03-18 09-44-02.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/6de6069e-2e5a-44d4-bfcc-c0fcda4048ba.gif)

キャリブレーションのコツはカメラを動かすのではなく手首のスナップで左右上下に振ることです。

マップが完成後、黄色の場合は、カメラを振ることで保管してくれます。
[VIVEトラッカー (Ultimate)トラッキングが安定しません。または正確ではありません。
](https://www.vive.com/jp/support/ultimate-tracker/category_howto/tracking-is-not-stable-or-accurate.html)
・一面が真っ白い壁
・キャリブレーション中にトラッキングが外れる
などがあるとマップが失敗しやすくなります。

VIVE上でTrackerを使えるようにするのはこれで完了です

# SteamVRで使えるようにする
使用端末：VIVE Focus Vision
UltimateトラッカーをUEやPCVRで使えるようにするには、SteamVRを経由する必要があります。
まず、VIVEのVR端末をBusiness StreamingなどでSteamVRなどに接続します。

VIVEHubでVIVEストリーミングの入力から、メニューボタンを押してSteamVRのダッシュボードを開く設定がオンになっていることを確認します。
![スクリーンショット 2025-03-18 154356.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/62f3b86d-5a0a-4b2a-be5c-17d390c0f1ce.png)

SteamVRでUltimateトラッカーが認識されていることを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/3265136b-ce8c-492b-af03-fbd4e124598c.png)

SteamVRに接続したら、左手コントローラーのメニューを押します

![20250318_105246153.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/767775c5-9c69-4de9-8742-9bc8696d5a77.jpeg)

こんな感じのSteamVRのダッシュボードが開きます。
![VRビュー 2025-03-18 10-42-06 - frame at 0m4s.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/9543bbc1-ce56-4034-a703-5a5208307a87.jpeg)

下のタスクバーの中からVIVE Space Calibratorを選びます。
![スクリーンショット 2025-03-18 105628.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/6802232e-dc35-441b-87d7-c4a584714f0a.png)

お好きなコントローラーを選びます。

![スクリーンショット 2025-03-18 105645.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/27eaa0fe-9dc6-45b0-973c-e6377dcd2bb1.png)

選んだら、Ultimateトラッカーとコントローラーを片手に持ってしっかり固定し、Ultimateトラッカーの電源ボタンを押した後、インフィニティマーク∞を描くように動かします。
![VRビュー 2025-03-18 10-49-11.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/2f2e5208-2a1a-40cc-abd4-a92dfd854eb4.gif)

この時、片手できっちり固定できていないと、キャリブレーションがうまくいきません。
トラッカーをキャリブレーションしたときと同じ位置に立つとうまくいくような気がします
![20250318_105308794.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/a0b85a0e-2c6b-4c64-9309-da8e2306813a.jpeg)

自分はこんな感じで持つようにしています。

成功したらVR内のUltimateトラッカーの動きがきちんと連動するようになります。


# UE5で動かす

Ultimateトラッカーを動かすには、VIVE OpenXRプラグインが必要です。
[ダウンロードページ](https://developer.vive.com/resources/openxr/unreal/unreal-download/latest/?site=jp&)

※2025年3/18追記
動かすだけならVIVE OpenXR プラグインはいらないようです

設定するのが面倒なので、サンプル付きをダウンロードするのがおすすめです。
[設定を自分でする方はこちらを参照](https://developer.vive.com/resources/openxr/unreal/unreal-tutorials/tracker-overview/ultimate-tracker/?site=jp&)


サンプルプロジェクトを開きます。
PCVRでトラッカーを使うには、OpenXRViveTrackerプラグインが必要です。こちらはUEに組み込まれているので有効化します。（サンプルプロジェクトも有効化されていません）
[トラッカーの概要](https://developer.vive.com/resources/openxr/unreal/unreal-tutorials/tracker-overview/?site=jp&)

![スクリーンショット 2025-03-18 110904.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/9c4fb7d2-303d-4da7-a2e4-4503bae7fe4e.png)

Ultimateトラッカーのマップを開きます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/54fd47d5-0a19-44a1-a633-5b8bd91492ef.png)
プレイすると、動いていることを確認できます。
![VRビュー 2025-03-18 11-17-14.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2257391/9a514dd7-b1e6-45a3-88dc-1b78bb4905b8.gif)

おわり