更新履歴 [2022/07/06]:リンクの表示や文章・項目の修正 [2022/07/14]:Quest2アカウントに言及した部分の追記 [2022/08/08]:Flow版ViveportからVRidgeが消去されたことを追記 [2022/08/12]:Focus版VRidge用apkに関する追記
[2022/08/08] 2022/08/08時点でFlow版ViveportからVRidgeが削除されていることを確認 現在時点でFlowにVRidgeがインストールができないため、新規にこの方法を使うことはできない 状況です [2022/08/12] Focus用のソフトとある程度互換性があるようで、Focus版Vridgeのapkで動く可能性があります導入手順[1] に追記を行いましたが筆者は未検証です
はじめに PCとその他を利用して、外付けマイクとか付けずに ViveFlowをSteamVRでPCVRとして無線で使えるHMDとして使う試みです。以下の注意点をよくお読みください 。
この方法は実験的です。 実現できる動作としてはスタンドアローンではなく無線PCVR HMD としての動作となります。 ・VR用コントローラ(+Dongle,BaseStation [LightHouse環境の場合]) ・PC ・NVIDIAのGPU/グラフィックボード などが必要です。 無線PCVR HMDとしてViveFlowをSteamVRで使うことはできますが、前提となる条件と解決できない点がいくつかあります。解決不能な点( 既存HMDに劣る点 ) ×非同期再投影ができない :頭を素早く動かすと映像遅延が目立つ×レンズによる映像歪みが完全に解消できない :頭の角度によっては映像が歪む、適切な設定値が不明前提条件 〇本セットアップでのPC環境はWindows11 △毎回の起動時の手間[1]が多い △無線-有線環境がそれなりに安定して早い[2]必要がある △PC&VR用コントローラ(LightHouseであればDongleも)必須 △NVIDIA GPUが必須 [3] △Androidスマホ必須[4] [1] 後述のFlowの6DoFを使う場合には手順が増える [2] 安定に動作した時のおおよその実測値(適当) Flow-ルーター間の無線:上下400~500Mbps ルーター-PC間の有線:上下800Mbps程度 [3] Moonlight使用のため [4] Flowの操作のためーFlowの6DoFを使う場合 △UnityでAndroid用アプリを自作[5]する必要あり [5] ViveFlowに搭載された6DoFトラッカーを利用するためTrackingOverrideを使ってViveTracker等でHMDをトラッキングする場合は不要
試みを行うに至った発端 ・VR睡眠用としてQuest以上の適正期待 ・軽量&無線&新型レンズなHMDへの好奇心 ・先駆者の試みΡの日本語練習ブログ 様 :Vive Flow + SteamVR セットアップガイド(実験的RiftCat、VRidge、Moonlight、SteamVR Tracking)
筆者は ・ごついHMDしか持ってない ・↑でVR睡眠試したけど有線&後頭部ストラップ&重量&眼鏡できつかった ・Quest2でも眠れないだろうなあ…と思った ・Quest2を使うにはOculessとかを利用しない限り、未だにFacebookアカウントが必要らしい
[2022/07/14 追記] →2022年8月からMetaアカウント導入でFacebook連携が不要になるそう
https://www.oculus.com/blog/meta-accounts/ ・無線HMDってどんなのだろう? ・軽いHMDなら髪型が乱れなさそう ・LightHouse環境が整ってるから、理論上マイクの問題解決をすればSteamVRで使うことができそう
と、いろいろ考えViveFlowを購入しました。 先駆者の記事や海外記事を参考にしつつ、自分でいろいろ試行錯誤して結果、ある程度の問題を除いてSteamVRのHMDとして安定して利用できそうな方法がわかったので記事にしました。 ということで軽量・新型レンズ・視力矯正機能付き・無線なHMDをSteamVRで使えるようにしていきます。 必要なものは以下になります。
必要なもの ハードウェア ・ViveFlow ・モバイルバッテリー [6] ・androidスマートフォン [7] ・NVIDIAグラボ搭載のPC ・WiFi6 無線-有線環境 ・長めのusb-cケーブル [8] ・LightHouse環境 [9]:BaseStation+Controller&Dongle
ソフトウェア (導入は各ソフトのページを参照、Flowへの導入は後述する)
PC側 ・Riftcat クライアント ・GeForceExperience [10] ・Vysor [11] ・WoMicクライアント [12] ・ノイズゲート可能な仮想オーディオケーブル [13] ex) VoiceMeeterBananaーFlowの6DoFを使う場合 ・OpenVR-SpaceCalibrator ・VirtualMotionTracker [14]
ーリンク
Flow側 ・Vridge apk ・Moonlight ・WoMic ・Taskbar [15]
ーリンク
https://m.apkpure.com/jp/taskbar/com.farmerbb.taskbar
[6] 7.5W以上の電力供給が可能なもの [7] ViveFlow対応のもの筆者は対応リストにないandroidも使ってみたが、コントローラとしての利用はできた。 ただし場合によっては動かないので対応のandroidスマホを使った方が良い 。 ※HTCは3DoFのFLow用コントローラを発売予定?らしい [8] PC-Flow間をつないでソフトをサイドロードしたりセットアップしたりするため ※電源供給用のケーブルはFlowに付属 [9] Flow使用時にSteamVR操作のためのコントローラが必要なためFlowの操作用スマホをVridge経由で3DoFコントローラとしてSteamVRに認識させる こともできるが、後述の問題のため利用不可 。最低でも BaseStation1基&LightHouse対応コントローラのペア LightHouse対応コントローラはvive wand / index knuckles 等だが、使用するにはDongleが別途必要 、方法としては色々ある。 ーHMDに内蔵されているDongleを使う ーViveTrackerについているDongleを使う ーSteamVRに対応したDongleを購入する/自作するQuest2やRiftSのコントローラをOpenVR-SpaceCalibratorで使う手もあるが未検証。 [10] Moonlightでストリーミングを行うため [11] PCでandroidを画面操作することができるソフト。 androidのアプリをViveFlowで動かそうとするとFlowの画面操作が必要なため。無線化できるオプションがあるが有料。 [12] androidマイクをPCのマイクとして使うことができるソフト Flowのマイクを使用するため。 [13] Flowのマイクを素で使うには音を拾いすぎるため。 [14] 後述の「ーFlowの6DoFを仮想トラッカー化して6DoF」で使用 ソフト作成時にはUnityの導入とWaveSDK,uOSCの導入も必要となる。 [15] Flowに対応していないandroidアプリ各種を起動したり、後述のトラッカーアプリをMoonlightと同時起動するため。 後述にもあるが、androidアプリ各種の起動はコマンドプロンプトからadb経由で出来る…のだが、起動コマンドを自力で探す必要があるのでTaskbarの利用を推奨する。
導入までの道のり [1][2]のVridge,Moonlight,Vysor導入やADB環境構築については 以下の記事が詳しいのでそちらを参考にしてください.
[1][2]では手順の説明にとどめます.
導入手順 [1] Vridge導入 ※課題1 [2] Moonlight導入+Vysor利用 [3] VridgeとMoonlightの詳細設定 ※課題2 [4] Womic(&Taskbar)導入でのFlowのマイク有効化+サウンド設定ーFlow+ViveTrackerで6DoF [5-a] ViveTrackerでFlowをTracking OverridesするーFlowの6DoFを仮想トラッカー化して6DoF [5-b] Flowの6DoFをVMT化する [6] Taskbarによる作成したアプリの同時起動 [7] OVR-SCでのFlowとコントローラの空間合わせ
導入手順 [1] Vridge導入 ① Riftcat クライアントをPCへインストール 無料5分でアカウント作成で+5分、買い切りで無制限。 テストを勧める。② ViveFlowを操作してVivePortからVridgeをインストール
[2022/08/08] Ρの日本語練習ブログ 様のこちらの記事https://ugokutennp.hatenablog.com/entry/2022/01/17/032640 にFocus版Vridgeのapkダウンロード直リンク があります こちらのapkを後述の「[2] Moonlight導入+Vysor利用 」の方法でFlowへadb経由インストールを行うことで動く可能性がありますが、筆者は未検証です
Ρの日本語練習ブログ ③ PCとFlowを同一ネットワークへ接続 ④ FlowのVridgeを起動 ⑤ PCのRiftcat2を起動して、ViveFlowの名前が表示されたら「はい」を押して接続 ⑥ 画面が切り替わり、再生マークを押すとSteamVRが起動する
※課題1 Vridge(Riftcat2)のみの機能でFlowをSteamVRで使用することはできましたが、常用するにはFlow側の仕様やその後のアップデートのためか以下の点が問題になります(A)Vridge(RiftCat2.0)の画面がHMDに対してズレる (B)FlowのシャペロンがHMDに追従して移動してしまう (C)HMDのトラッキング位置がおかしくなる (D)Flowのマイクが使えない(スピーカーはVridge/Moonlightでストリーミング可能)
画質やストリーミングの安定、(A)の問題の解決のためにMoonlightを使用します
[2] Moonlight導入+Vysor利用 ① PCにADB環境を構築 環境構築方法:https://gaddet.com/tips-adb/
② PCにVysorをインストール ③ FlowでADB経由でapkをインストールできるように設定
※apk:Android専用ソフトのファイル形式 Flowの設定>詳細設定から ・不明なアプリのインストールを許可 ・開発者向けオプション>USBデバッグを有効化
④ FlowとPCをUSB-Cケーブルで有線接続する
Flowに選択画面が現れるので ・USBモード:何もしないを選択
⑤ FlowにADB経由でMoonlightのapkをインストール
・apkはnonRootを使用 ・apkインストール方法 [1]コマンドプロンプトを開く [2]FlowをPCに接続したことを確認 [3]プロンプトでadb devicesでEnter [4] いくつか表示が出た後[英数字] deviceになったことを確認 [5]apkのファイルパスをエクスプローラでコピー [5]adb install [apkのファイルパス]でEnter ※アンインストールはFlowの設定>ストレージから
⑥ VridgeのMoonlightセットアップ方法に従う
https://support.riftcat.com/hc/en-us/articles/115005811705-Moonlight-Basic-Guide
⑦ 設定後、[1]Vridgeで行ったのと同じように再生ボタンでSteamVRが起動し、Flow側のMoonlightが自動的に起動
この時PC-Flow間のRiftCatが切断され、PCのRiftCatウィンドウが「接続を探しています」状態になるが、SteamVR使用中はウィンドウを閉じずにそのままにする こと。
⑧ Vysorを起動し,FlowをPCから操作する
PCデバイス名がついたPCアイコンがVysor(FlowのMoonlight画面)に表示される >表示された指示に従う >StreamViewを選択してセッションを開始/続ける
⑨ PC画面に透明なSideBySide映像(VridgeのStreamView)が映る。以降PC画面がFlowにストリーミングされるので、CTRL+ALT + SHIFT + HOMEで無効/有効を切り替える。
⑩ FlowとPCの接続を外して、モバイルバッテリー等に接続する
終了時手順 ⑪ FlowとPCを接続 ⑫ VysorでFlowにストリーミング画面が表示されている状態で、戻るボタン ⑬ Flow画面からStreamViewを選択してセッションを終了 ⑭ PC側でSteamVR、RiftCatを終了
[3] VridgeとMoonlightの詳細設定 以下自分の値、参考程度に ・VridgeとMoonlightの映像に関する設定は RiftCat2の歯車からある程度設定できる
プリセット:カスタム 解像度:3200x1600 ガンマ:1.1とか? 音声のストリーミング:ON高度な設定:ON ビデオの詳細設定 フレームレート:ネイティブ(75Hz) ビットレート:50Mbps レンダリング:150% (SteamVRのスーパーサンプリング)ストリーミングのオプション NVENC,HEVC:ON ストリーミングモード:フレームの損失を防止するトラッキングの設定 トラッキングのソース:スマホの方向センサーとFreeTrackの位置センサー トラッキングの予測:1Ms ※他デフォルト
詳細な設定は以下から "C:\Program Files (x86)\Riftcat 2\Config\vridge.cfg"
解像度 14行目:"DisplayResolution": { "Height": 1600, "Width": 3200 },リフレッシュレート(自動的に設定されると思う) 25行目: "RefreshRateHz": 75,樽型歪み設定(映像の歪み補正値) [自分的な参考値] 346行目:"Moonlight.Distort": { "AspectRatio": 0.8935, ~ "Distort": 0.85, "IPD": -0.01, ~ "Scale": 1.2, "Warp": [1.0,0.15,0.15,0.0] },
"AspectRatio":画面比率、キャプチャするモニタの比? "Distort":歪み強さ "IPD":IPD65(基準)からのオフセット値? "Scale":映像の大きさ "Warp":樽型歪みのパラメータ
Moonlight Advanced Guidehttps://support.riftcat.com/hc/en-us/articles/115005811189 ・Moonlightのストリーミング設定はFlowのMoonlight画面をVysorで操作して行う。
PCデバイス選択画面の歯車>基本的な設定 > 解像度とフレームレート :Native(3200x1600)> Video frame rate :30,60Hzから選べる ※基本的な設定>高度な設定>Unlock all possible frame rateにチェックを入れると90,120Hzに設定可能> 映像のビットレート :80~100Mbpsくらいでキレイ、40とかだときついかも> Video frame pacing :Balanced with FPS limitが安定?かもしれない>音声 >Surround sound configration :7.1 Surround soundがよさそう >ホスト >ゲーム設定の最適化:ON? >コンピュータで音声を再生:ONにしないとFlowに音が出ない>高度な設定 > Unlock all possible frame rate :チェックを入れるとVideo frame rateで90,120Hzに設定可能 >HEVC :HEVCを強制的に有効化、でいいと思う
※課題2 Moonlight使用で課題(A)は解決しましたが、マイクが使えないままです。(D)Flowのマイクが使えない(スピーカーはVridge/Moonlightでストリーミング可能) また、(B)(C)の代わりに新たな問題(E)が発生します。(E)Flow側でMoonlightが起動 →VRidge停止 →HMDトラッキングが停止する
次に(D)を解決すべくWo micを導入します。
[4] Wo mic(&Taskbar)導入でのFlowのマイク有効化+サウンド設定 ① Wo micのクライアントをPCへインストール ② Wo micのapkをFlowにadb経由でインストール
この後FlowでWo micを起動します。 が、普通のandroidアプリはFlowのライブラリに表示されない※ので、下記のadbコマンドでコマンドプロンプトから起動することになります。 Wo mic なら以下のような起動コマンドになります。 ex) adb shell am start -n com.wo.voice2/.MainActivity このコマンドは自力で発見する必要があり ①端末にインストールされているパッケージの一覧を調べて、起動したいアプリのパッケージ名を調べる [参考]http://blog.livedoor.jp/mitsu_aki/archives/19940874.html ② shell コマンドを投げて起動用クラス名を探す ③パッケージ名とクラス名を使ってadb経由で起動コマンドを入力して起動 [参考]https://noitalog.tokyo/adb-shell-start/#toc2 と非常に煩わしいので、Taskbarを導入+利用して起動する方法を書きます ※androidアプリにWaveSDKが入ってないとライブラリに表示されない? ストレージからアンインストールはできる
③ Taskbarの導入 1.adb経由でFlowにTaskbarをインストール 2.コマンドプロンプトで以下を入力しFlowでTaskbarを起動 adb shell am start -a com.farmerbb.taskbar/.MainActivity 3.Vysorで画面を操作し、以下記事の TaskbarでAndroidのフリーフォームモードを有効にする方法 >Android 8.x〜向け でのTaskbarの設定を行う
4.下記の設定をします
全般 ・画面での位置:左下(横) ・アプリを選択した時にTaskbarを折りたたむ:ON ・ブート時に起動:ON 外観 ・Taskbarを折りたたんでいるときボタンを非表示:ON
これで普段はTaskbarは見えなくなり >起動時に自動起動. >左下をクリック でandroid用アプリがそこから選択,起動できるようになります.
④ VysorでFlowのマルチタブを開き、TaskbarからWo micを起動 ⑤ Wo micがフリーフォームで起動するので、×ボタンの左を2回クリックすると、マルチタブにWomicが現れるのでクリックして開きます. ⑥ Wo Micのマニュアルに従ってPCと接続
これでマイクがPCで使えるようになりますが、そのままだと収音範囲が広い のでノイズゲートをかけて 使えるようにします. 今回はVoiceMeeterBananaを利用します. ゲート付きの仮想オーディオケーブルなら何でも良いと思います.
⑦ VoiceMeeterBananaを起動 ⑧ Hardware Input 1のselect input deviceをクリック ⑨ WDM:マイク(Wo Mic Device)を選択 ⑩ Gate:8.0 , Gain:-3.5程度にしてHardware Input 1の">B1"ボタンのみ有効化 →PC側のVoiceMeeter OutPut デバイスにFlowのマイク音声 が出力されるようになります
次にMoonlightと一緒にVoiceMeeterBananaを利用する場合のスピーカー設定を行います(必要ないかも) ⑪ 右上のHardware Out :A1にMME :NVIDIA Virtual ~を選択 以下、注意!!
※MME :NVIDIA Virtual ~にしてください、MME以外だとバグります. ※MME:NVIDIA Virtual ~はMoonlightでセッションを開始しているとき しか選択できません. ※NVIDIA Virtual ~はセッション開始時、Desktopスピーカ出力に強制的に設定されて変更不可 になります.
⑫ デスクトップ音声がFlowに流れるようになります. ※本来はMoonlight>ホスト>コンピュータで音声を再生:ONだけでデスクトップ音声がFlowに流れるようになります、Bananaのエラーを無くすためにやってるだけです. ※デスクトップ音声をミュートにすると、デスクトップにつながれた再生機器からの出力が消えて、Flowにだけデスクトップ音声が鳴るようになります.
※課題3 課題(D)は解決しマイクが使えるようになりましたが、(E)が解決できていません.(E)Flow側でMoonlightが起動 →VRidge停止 →HMDトラッキングが停止する
ということで、HMDがトラッキングが動作しない点を解決します。 まずは簡単にViveTrackerで6DoFができるようにしてみます。
ーFlow+ViveTrackerで6DoF [5-a] ViveTrackerでFlowをTracking Overridesする ※設定ファイルの編集を伴います、自己責任で
① ViveTrackerをFlow前面に固定します ※Flowはパッセンジャーモードに変更したほうが良いと思います ② PCで"C:\Program Files (x86)\Steam\config\steamvr.vrsettings"を開きます ③ "trackers"から使用するトラッカーのIDを見つけます.
… "trackers" : {"/devices/htc/vive_trackerLHR-[XXXXXXXX]" : "TrackerRole_~", … }
④ "TrackingOverrides" : { },を追加記述して、以下の様にします. … "LastKnown" : { "HMDManufacturer" : "Riftcat", "HMDModel" : "Vridge" }, "TrackingOverrides" : {"/devices/htc/vive_trackerLHR-[XXXXXXXX]" : "/user/head" }, …
これでLighthouse環境でFlowをトラッキングできるようになります。 しかし、
・前にトラッカーがついてるのは重い(総重量300g程度) ・ViveTrackerの重さのせいでFlowがずれやすい ・ViveTrackerのジッターもあり視界がプルプルする
という問題があるので、以下の手順でアプリケーションを作り 、Flowの6DoFをSteamVRのトラッカーとして使えるように します。
・UnityとWaveSDK,uOSC,VirtualMotionTrackerを使用してFlowの6DoFをSteamVRに仮想トラッカーとして送信するアプリケーションを作る ・TaskbarでMoonlightと同時起動させる ・Flow-6DoF仮想トラッカーをOpenVR-SpaceCalibratorでQuest2みたいに位置合わせできるようにする.
アプリケーションの作成自体は簡単ですが、まだ問題もあるのでとりあえず動くやつが作れる! 程度のソフトの作り方を書きます. (ちゃんとしたのを作ったら配布したい) もちろん作成して動かしたりするのは自己責任でお願いします…
ーFlowの6DoFを仮想トラッカー化して6DoF ・OpenVR-SpaceCalibrator (https://github.com/pushrax/OpenVR-SpaceCalibrator/releases ) ・VirtualMotionTracker (https://github.com/gpsnmeajp/VirtualMotionTracker/releases ) を事前にインストールしてください またSteamVRのアドオンを有効化する必要があります。
[5-b] Flowの6DoFをVMT化する ① 以下の記事を参考にUnity でandroid用プロジェクトを作成して環境設定を行います VIVE FlowのUnity環境構築してCubeを表示するまで:
② uOSCをunitypackageでプロジェクトにインポート ③ 以下の記事にあるようなsendme.csを作成 右クリック>Create>C#Script ファイルの名前はsendmeに、もし任意の名前にしたときはPublic class名を同じ名前にしてください
④ HMDが追従されるようなサンプルシーンを開く EX)Assets/Wave/Essence/Interaction/Mode/4.5.0-r.3/Demo/NaturalHand.unity 等 オブジェクト(MainCameraなど)にCameraとTracked Pose DriverがあるようなシーンでPoseSourceがCenter Eye になってるか、 Use Pose Provider が DummyHeadPoseになってれば良いです。 ⑤ シーンをFile>SaveAs等で別名で保存 ⑥ MainCameraにU Osc Clientと先ほど作ったsendmeをセット ⑦ U Osc Clientのポートを39570、IPをPCのアドレスにする ⑧ Wave>GameObjectからAdd Tracker Manegerを押して、ヒエラルキーに追加されたTracker Manegerのチェックをすべて入れる ⑨ File>BuildSettingsからSceneをBuild ⑩ Buildしたapkのフォルダパスをコピー ⑪ adb経由でFlowにインストール ⑫ [1]-④⑤⑥,[2]-⑤⑥⑦の通りにMoonlight環境でVridgeからSteamVRを起動、VMTのアドオンを有効化 ⑬ アプリを起動しVMTの手順通りに初期設定する ⑭ VMT_0トラッカーをSteamVRのトラッカーの管理からカメラに割り当てる ⑮ 一度SteamVRとMoonlight+Vridgeをすべて終了 ⑯ [5-a]で行ったように"/devices/vmt/VMT_0"でHMDをTrackingOverrideする
"TrackingOverrides": { "/devices/vmt/VMT_0": "/user/head" },
これでアプリを起動すると、SteamVRにVMTの仮想トラッカーとしてFlowの6DoFが送信され、HMDのトラッカーとして機能します。 しかしFlow,Unity,androidの仕様のためか、先ほど作成したアプリをMoonlightの裏でバックグランド動作させることができないので、Taskbarで同時起動 させます。
[6] Taskbarによる作成したアプリの同時起動 ① [1]-④⑤⑥,[2]-⑤⑥⑦で、以下の状態にする。 ・Vridge+MoonlightでSteamVRが起動 ・透明なSideBySide映像(VridgeのStreamView)がPC画面に表示 ・画面がFlowにストリーミングされている ② VysorでFlowを操作し、作成したアプリをTaskbarで起動する ③ 作成したアプリがフリーフォームモードで起動するので、Vysorで画面外にドラッグする ④ PCでSteamVRにVMTが認識されていることを確認 ⑤ PCのキーボードでCTRL+ALT + SHIFT + HOMEでモニタのSideBySide映像(VridgeのStreamView)を不透明にして,FlowにSteamVRの画面が出たことを確認する
これでFlowがMoonlightを起動しつつSteamVRで6DoFされるようになりました。 次にSteamVR上でLighthouseコントローラと合わせて使用できるようにOpenVR-SpaceCalibratorで位置合わせをします。 Quest2での方法とほぼ同じです。(VRChat等でフルトラッキングもできます)
[7] OVR-SCでのFlowとコントローラの空間合わせ ① [6]-④の状態にする ・PCモニタのSideBySide映像(VridgeのStreamView)を透明にする ② OVR-SCのアドオンがSteamVRで有効であることを確認し、ルームセットアップで立位を選択し、指示に従う ③ PC画面のOVR-SCウィンドウから左のReferenceSpaceがVridgeになっていることを確認 ④ PC画面のOVR-SCウィンドウからCopy Chaperon Bounds to profileをクリック ⑤ BasestationとLightHouseのコントローラ(+トラッカー等)を起動する
必要なもの-詳細[9] にも記したが、LightHouseのコントローラを使う場合、Dongleが別途必要 。 LightHouseのHMDを持っている場合はHMDの内臓ドングルを利用する LightHouseのHMDが無い場合、コントローラ用のDongleを購入する必要 がある。
⑥ Lighthouseのコントローラの左右どちらかとFlowを密着させてStartCalibrationを押し、様々な角度・位置になるように動かします(8の字を描くようにするとよさそうです) ⑦ 終了したらFlowとLighthouseの位置合わせが完了です
※FlowのChaperonはSteamVRに表示されない(立位)ので、Chaperonが必要な場合はそのままルームセットアップでルームスケールを行えば、SteamVR側のChaperonを設定できます ※Chaperonなしの立位の場合、床がずれてる時があるのでOVRAdvancedSettingsのFixFloor等で床を合わせると良いです
手順まとめ とても長くなりましたが大体書けたと思います。 手順がゴチャついたので起動手順を簡易にまとめると以下となります。 (長い)
起動時 ① Flow起動 ② FlowのVridge起動 ③ PCのRiftcat起動 ④ Riftcatの再生ボタンを押す ⑤ SteamVRがPCで起動しMoonlightがFlowで起動 (Flow側Vridge停止,PCのRiftCatは切断されてるが閉じずにそのままにする) ⑥ FlowとPCをつなぎVysorでWomicを起動、再生 ⑦ PCでWomicを起動し接続、VoiceMeeterBananaを起動しデスクトップ音声をミュートにする ⑧ FlowをMoonlight画面に移動し、StreamViewのセッションを起動/続ける ⑨ PC画面に透明なSideByDide画面(StreamView)が出る ーFlow+ViveTrackerで6DoFの場合 ⑩-⑮ OverrideしたTrackerを起動してBSとLighthouseコントローラを起動 ーFlowの6DoFを仮想トラッカー化して6DoFする場合 ⑩ Vysorで自作トラッカーアプリをフリーフォームで起動し、できるだけ画面外にドラッグする ⑪ VMTがSteamVRに認識されたことを確認し、立位でルームセットアップ ⑫ PCウィンドウからOVR-SCを開きchaperonコピー ⑬ BSとLighthouseコントローラを起動 ⑭ OVR-SCでLighthouseコントローラを使ってキャリブレーション ⑮ 必要に応じてルームスケールでのchaperon設定/OVRAdvancedSettingsのFixFloorを行う ⑯ PCのキーボードでCTRL+ALT + SHIFT + HOMEでSideByDide画面(StreamView)を不透明にして,FlowにSteamVRの画面が出たことを確認する ⑰FlowとPCの接続を外して、モバイルバッテリーに接続 ⑱Play!!終了時 ⑲ モバイルバッテリーを外し、FlowとPCを接続 ⑳ VysorでFlowにストリーミング画面が表示されている状態で戻るボタンを押す ※自作トラッカーアプリをフリーフォームで起動している場合、VysorでFlowの画面をクリックするとアプリが終了して戻るボタンが押せるようになる。 ㉑ Flow画面からStreamViewを選択してセッションを終了 ㉒ PC側でSteamVR、RiftCatを終了
SteamVRの音声設定は [4]Wo mic(&Taskbar)導入でのFlowのマイク有効化+サウンド設定 の⑩、⑫の通りに以下のように設定してください。
スピーカ:システムデフォルト マイク:VoiceMeeter OutPut デバイス
おわり ということで
解決不能な点( 既存HMDに劣る点 ) ×非同期再投影ができない ×レンズによる映像歪みが完全に解消できない
を残したままではありますが、すべての課題は解決し 一応ViveFlowを無線PCVR HMDとしてSteamVRで使ってみることができました !お疲れ様です! 正直アプリ作成はめんどくさすぎるので配布したいですが、まだちょっと整ってないのでお待ちください…
ここまで読んでくださりありがとうございました。 以上、ViveFlowを無線PCVR HMDとしてSteamVRで使ってみる方法でした。 ちなみに筆者はVRChatで寝るときとかHMD重いのやだなって時に使ってます。快適。