Edited at

WindowsMR+ViveTracker


WindowsMRでViveTrackerを使いたい

現在Windows10ではWindowsMRがSteamVRとして動作するようになっています。

WindowsMR for SteamVRを起動するとSteamVRのダイアログが起動しWindowsMRのHMDを認識すると

SteamVR ステータス 2018-10-23 14.12.44.png

こんな感じでWindowsMRがSteamVR上で動くようになります。

Unityで開発する場合SteamVR SDKを入れて普通にSteamVRとして開発出来るようになります。

以前、UnityでViveやWindowsMRのモーションコントローラーの入力を統合する方法

という記事を書きましたがInput周りを考えるとこちらの方が色々とスムーズに連携出来ます。

ここまで動いたらViveTrackerとかViveWand(Viveコントローラー)とか使えないかなとか思う人も中には居るでしょう。

特に6DoFが使えるまともで購入しやすいTrackerとなると今の所ViveTrackerぐらいしか選択肢がありません。


Vive機器を認識させる

試しにベースステーションを設置してViveTrackerを繋いでWindowsMR for SteamVRを起動したのですが当然認識しませんでした。

【Unity】ViveのHMDなしにTrackerを使う

HMDなしのSteamVRトラッキング

上記の記事ではSteamVRのベータ版を使うとありますが流石に仕事で使っている環境にSteamVRのベータ版を入れる気持ちは起きません。

今回はHMD無しという訳ではなく、WindowsMRを使うので少し事情が異なります。

どうにかならないかなと思ったらありました。

https://www.reddit.com/r/Vive/comments/86ri8w/vive_controllers_work_with_the_odyssey/

方法は凄く簡単で

C:\Program Files (x86)\Steam\config\steamvr.vrsettings

に以下の設定を追加するだけです。


steamvr.vrsettings

   "steamvr" : {

"activateMultipleDrivers" : true,

activateMultipleDriversをtrueにしてSteamVRとか諸々を再起動して下さい。

ViveTrackerのペアリングなどは先に済ませて置くことを推奨します。

ViveTrackerを起動したまま再起動すると

SteamVR ステータス 2018-10-23 14.22.22.png

以下の様にベースステーションと共にViveTrackerが認識されるようになります。

まだUnity上では確認していませんが多分普通に動作するでしょう。多分。

実際に確認してみた所Trackerが無事表示されましたが、カメラの位置が3mとかになります。Trackerの位置が1.9mとかになっているので、どうもベースステーションからの位置とWinMRで認識している世界の位置が合ってない感じがしてます。