【Oculus Quest・SteamVR】OculusQuest最新ビルドに対応したALVRを試してみる

Oculus Quest
スポンサーリンク

最近、QuestのOSがBuild 7.0にアップデートされ「AndroidManifest.xml」にQuest用アプリであることを明記しないとOculusGo・GearVR用アプリとして扱われるように変更されました。

多くのインディーズアプリ(いわゆる野良アプリ)はこれをしていなかった為、動作がおかしい!遂に野良アプリが対策されたか!と、ちょっとした騒ぎになりましたが、これは野良アプリ対策と言うより、将来的にQuestでもGo・GearVR用のアプリを扱えるようにする為の下準備だと思われます。

主な野良アプリはこの変更に対応して正常に動作するようになりましたが、ALVRは現在放置状態でこの問題が未だに修正されていません。

そんな状況の中、ALVRを修正される方が現れました。この方は今回の問題に対応するだけではなく、元々ALVRが抱えていた問題もいくつか修正されています。

今回はそのALVRのダウンロード・インストール、実際に使ってみた感じ等を書いてみたいと思います。

SteamVRをインストールされていない方は、先にSteamVRをインストールしておいて下さい。

修正内容

例によってGoogle翻訳も一緒に載せておきます。(正直、筆者もよくわかっていません(爆))

※2019/08/12 Experimental v3に更新されました。
※2019/08/27 Experimental v4に更新されました。
※2019/09/02 Experimental v5に更新されました。
※2019/09/13 Experimental v6に更新されました。
※2019/10/08 Experimental v7に更新されました。
※2019/11/24 Experimental v8に更新されました。
※2020/02/29 Experimental v9に更新されました。
※2020/04/10 Experimental v10に更新されました。
※2020/06/22 Experimental v11に更新されました。

※ v12以降は新記事で取り扱っているのでそちらをご覧ください。

Experimental v2

fixed tracking on latest oculus quest update最新のオクルスクエスト更新に関するトラッキングを修正
 QculusQuest Build 7.0 に対応。
fixed controller rotation固定コントローラ回転
fixed controller position offset固定コントローラ位置オフセット
 コントローラがちょっと下向きだったのの修正と、ブレの修正?
set tracking refresh rate to 3*72=216fpsトラッキングリフレッシュレートを3 * 72 = 216fpsに設定
 トラッキングのリフレッシュレートを上げて、より精度の高いトラッキングが出来るように設定。
Fixed bad image quality on Master branch Included all prior fixes into masterMasterブランチでの悪い画質の修正以前の修正をすべてmasterに含めました

コントローラ向きの修正は地味にありがたいですね。ガンシューティングゲーム等で感じた違和感が無くなりました。

Experimental v3

This releases are Oculus Quest only!このリリースはOculus Questのみです!
separated render resolution from video resolution (they don’t multiply each other anymore)レンダリング解像度とビデオ解像度を分離します(もう互いに乗算しません)
more controller tracking tinkering調整を追跡するコントローラー
set a fixed quest default resolution of 1440×1600 per eye目ごとに1440×1600の固定クエストのデフォルト解像度を設定します

筆者の環境ではこのバージョンからResolutionを150%以上に設定するとALVRサーバーがクラッシュするようになりました。125%にすると映像に一定間隔で横線が入り(スケーリングの問題?)これがかなり気になってしまうので、実質100%で運用する感じになります。

Experimental v4

Added microphone streamingマイクストリーミングを追加
 You need https://www.vb-audio.com/Cable/ to create the virtual microphone仮想マイクを作成するには「https://www.vb-audio.com/Cable/」が必要です
fixed 60Hz Mode60Hzモードを修正 (not recommended!非推奨)

遂にALVRにもマイクストリーミングが追加され、Questのマイクを使用できるようになりました。
ただし、VirtualDesktopのように自前で用意したデバイスを自動設定してくれるほど便利にはなっておらず、WindowsにVB-AUDIO Softwareの「VB-CABLE Virtual Audio Device.」をインストールしてサウンド設定を変更する必要があります。

サウンド設定をこんな感じに変更
Steamの「Steam Streaming~」デバイスを使用しなくても、VB-AudioのデバイスでQuestから音が出ています
ALVRの方はこんな感じ。コンボボックスで設定しても何故か上手く行かないので、
Windowsの設定を変えた後にALVRサーバーを2~3回再起動して、自動的にこの設定が入るように工夫する必要がありました

QuestのALVRクライアントを立ち上げマイクの使用を許可して、VRストリーミングが始まるとマイクが使用できるようになります。

ちなみにClownfishボイスチェンジャーを使っている方は、VB-AudioのドライバにInstallするとボイスを変えられます。

筆者のおま環かもしれませんが、エコーがやまびこのように連続したりしてました。

更に「Other」タブに映像の周波数を60Hzに固定するオプションが追加されています。

「Force 60Hz」をチェックすると適用される

これはOculusOS Build 7.0から追加された60Hzモードに併せて実装された感じで、これをチェックすると映像の更新間隔が秒間60コマまでに制限され、映像の処理負荷を下げることができます。(VirtualDesktopにも同じ機能がある)

映像のコマ数が減ればゴーグル・コントローラーのトラッキング回数も減らせるので、総合的な負荷がかなり減り、その分を画質や安定化などに回すことができるのですが、正直ほとんど変わりません。

昔は60Hz以上は人間に判別不能と言われていましたが、144Hzのモニターを見てしまうとヌルヌルさの違いは一目瞭然です。VRではこのレベルの差でも酔いに影響してくると言われているので、非推奨とされているのかもしれません。

Experimental v5

added fixed fovead rendering (ffr) made by @zarik5@zarik5によって作成された固定foveadレンダリング(ffr)を追加しました
fixed ui where sound options got stuck after first start最初の起動後にサウンドオプションがスタックするUIを修正

今回のアップデートではFFRが追加されました。これは映像の隅っこの解像度を下げて処理負荷を下げる機能です。

「Video」タブの一番下に設定項目が追加されている

また、「Video」タブの「?」をマウスでポイントすると詳細説明が表示されるようになりました。例によってGoogle翻訳も載せておきます。

・Codec
Used video codec
Choose h265 if possible for better visual quality on lower bitrates
使用済みビデオコーデック
可能であればh265を選択して、低ビットレートでの画質を改善します。

・Bitrate
Bitrate of video streaming. 30Mbps is recommended.
Higher bitrates result in better image but also higher latency and network traffic
ビデオストリーミングのビットレート。30Mbpsが推奨されます。
ビットレートが高いと画像は良くなりますが、レイテンシーとネットワークトラフィックも高くなります。

・Video resolution
100% results in the native 2880×1600 resolution of the Oculus Quest
Setting the resolution can bring some improvement in visual quality, but is not recommended A resolution lower than 100% can reduce latency and network perfomance Resolutions below 100% require the codec to be h264 wo work properly
Oculus Questのネイティブの2880×1600解像度は100%です
解像度を設定すると、視覚的な品質が多少向上しますが、推奨されません100%未満の解像度は、レイテンシーとネットワークパフォーマンスを低下させる可能性があります。

・Buffer size
Buffer size on client side
200kB is recommended.if you experience packet loss, enlarge buffer.
クライアント側のバッファサイズ
200kBを推奨します。パケット損失が発生した場合は、バッファを拡大してください。

・Fixed Fovead Rendering
Technique where the center of the image is rendered in high resolution while the outskirts are rendered in lower resolution Results in a much lower video resolution that needs to be transmitted over the network.
The smaller video at the same bitrate can preserve more details and lowers the latency at the same time FFR causes some visual artefacts at the edges of the view that are more or lesse visible depending on the settings and the game
画像の中心を高解像度でレンダリングし、周辺を低解像度でレンダリングする手法は、ネットワークを介して送信する必要があるビデオ解像度を非常に低くします。
同じビットレートの小さなビデオは、設定とゲームに応じて、FFRがビューの端に多少の視覚的アーチファクトを引き起こすのと同時に、より多くの詳細を保持し、レイテンシーを低下させます。

foveationStrengthMean
Range from 0 – 5
higher value means less detail outside the foveated region and more artefacts 0 = off
0〜5の範囲の値が大きいほど、中心窩領域の外側のディテールが少なくなり、アーティファクトが多くなる。0 = オフ

foveationShapeRatio
Range from 1.5 to 2
Aspect ratio of the foveated reqion
1.5〜2の範囲
中心窩領域のアスペクト比。

VRストリーミングにFFRってあまり意味が無いのでは?と、思っていたのですが、映像の解像度を下げて処理を軽くする(その結果、遅延が少なくなる)効果があるようです。Quest用ゲームで見るFFRと比べるとかなりボヤけた感じになるので、現状ではあまりお勧めできません。

Experimental v6

Hopefully fixed a crash that happened for some on ev5願わくば、ev5の一部で発生したクラッシュを修正した
 不具合の詳細がわかりませんが、おそらく直っていると思うくらいの意味のようです。
added ability to disable controllersコントローラーを無効にする機能を追加
added 3DOF mode3DOFモードを追加
updated to Visual Studio 2019 and Cuda 10.1Visual Studio 2019およびCuda 10.1に更新
allows to specify explicit IP address for ALVR server.ALVRサーバーの明示的なIPアドレスを指定できます

最後の項目に関しては、さらに詳細な説明もされていました。

- 原文 -
Server IP can be set from computer - by command line:
adb shell am startservice -n "com.polygraphene.alvr/.ChangeSettings" --es "targetServers" "10.10.10.10"
Multiple IP addresses can be separated by comma (and some other characters).
Setting can be effectively removed by using any string shorter than 7 characters (e.g. "none") instead of IP address.

This should provide native support for ALVR server and VR headset on different subnets/networks (e.g. ALVR over VPN and cloud gaming).

- Google翻訳 -
サーバーIPはコンピューターから設定できます-コマンドラインで:
 adb shell am startservice -n "com.polygraphene.alvr / .ChangeSettings" --es "targetServers" "10.10.10.10"
複数のIPアドレスは、コンマ(およびその他の文字)で区切ることができます。
IPアドレスの代わりに7文字より短い文字列(例: "none")を使用すると、設定を効果的に削除できます。

これにより、異なるサブネット/ネットワーク上のALVRサーバーとVRヘッドセットのネイティブサポートが提供されるはずです(例:ALVR over VPNやクラウドゲーム)

上手く設定できれば、家の外のネットワークからもアクセスできそうですね。

「Server」タブに当記事の「ルーターの設定」で触れている40MHz電波の件が追記されています。

・For better performance, use only 5GHz WiFi, and limit the channel width to 40MHz
・パフォーマンスを向上させるには、5GHz WiFiのみを使用し、チャネル幅を40MHzに制限します

JackD83さんも、この映像乱れの件は認識しているようですね。

Experimental v7

added new fixe fovead rendering (ffr) mode sliced for a sharper imageより鮮明な画像のためにスライスされた新しい固定中心窩レンダリング(FFR)モードを追加
added Aggressive keyframe resendアグレッシブキーフレームの再送信を追加
general bugfixes一般的なバグ修正

Experimental v5でかなりダメダメだったFFRを、OC6で発表された「Sliced image transfer」に似た方法を取り入れて再構成したように読み取れます。
VirtualDesktopの方でもこれを次期バージョン(1.6.0の後)で取り入れてみようかって話が出ていましたが、ALVRの方が一歩早く導入となり、なんだか熱い展開に(笑)

FFR回りの設定が変わっている

「?」ヘルプも少し変わっているので、Google翻訳を載せておきます。

画像の中心を高解像度でレンダリングし、周辺を低解像度でレンダリングする手法は、ネットワークを介して送信する必要があるビデオ解像度を非常に低くします。
同じビットレートの小さなビデオは、設定とゲームに応じて、FFRがビューの端に多少の視覚的アーチファクトを引き起こすのと同時に、より多くの詳細を保持し、レイテンシーを低下させます。
値が大きいほど、フレームのエッジに向かって詳細が少なくなり、アーティファクトが多くなります。
値が大きいほど、高品質のフレーム領域がさらに下に移動します。

FFRの設定は「Disabled(なし)」「Slices」「Warp」の3種類ありました。

FFRは「Disabled」「Slices」「Warp」の3種類

「Slices」は画面下の解像度が低くなりボヤけます。こっちは結構使えそうな感じです。

境界になっている所を拡大

「Warp」は画面が全体的にボヤけます。正直あまり使い物にならないかも。

Warpは全体的にボケボケでイマイチ

アグレッシブキーフレームの設定は「Other」タブに追加されています。

「Aggressive keyframe resend」が追加
キーフレーム間の最小間隔を100ミリ秒から5ミリ秒に減らします。パケット損失が検出された場合にのみ使用されます。
パケット損失のあるネットワークでのエクスペリエンスが向上します。

筆者の環境ではFFRをSlicesにしてこれをチェックすると、平均80msくらいだったTotalLatencyが平均65msくらいまで減りました。そこそこ効果があるようです。

Experimental v8

stability improvements安定性の向上
fixed Vivecraft controls (maybe fixes other games)Vivecraftのコントロールを修正 (他のゲームに影響する可能性も?)
added manual color correction色補正の設定を追加

Experimental v9

added sharpening filter
シャープニングフィルターを追加

added proof of concept hand-tracking
概念実証ハンドトラッキングの追加

added support to emulate vive headset.
Viveヘッドセットをエミュレートするサポートが追加されました。

added support for manual controller rotation and offsets
手動コントローラーの回転とオフセットのサポートを追加

added fix for warped games like DCS World and Tomb Raider
DCS WorldやTomb Raiderなどのワープゲームの修正を追加

added game profiles to automatically set configuration for:
— Boneworks
— DCS World
ゲームプロファイルを追加して、次の構成を自動的に設定しました。
-ボーンワークス
-DCSワールド

added function to start ALVR minimized in tray
トレイで最小化されたALVRを起動する機能を追加

added option to auto start SteamVR if a HMD connects
HMDが接続した場合にSteamVRを自動起動するオプションを追加

Tested with SteamVR 1.10.20
SteamVR 1.10.20でテスト済み

If you have previously used ALVR, it is recommended to delete the old config found in %LOCALAPPDATA%\ALVR
以前にALVRを使用したことがある場合は、%LOCALAPPDATA%\ ALVRにある古い構成を削除することをお勧めします

Thanks to all the contributors that make this work possible!
この作業を可能にしてくれたすべての貢献者に感謝します!

https://github.com/JackD83/ALVR/releases/tag/ev9

今回の ALVR では試験的にハンドトラッキングが実装されています。

特に ALVR の設定を変えなくても Quest のホーム画面時と同じようにコントローラーを数秒間放置するなどしてコントローラーのトラッキングが外れると、その場で即座にハンドトラッキングモードに切替わります。

初期設定ではハンドトラッキングモードが Oculus Rift S になっているので中指・薬指・小指が一緒に動いてしまいますが、ハンドトラッキングモードを Valve Index に切り替えるとこれらの指も独立して動くようになります。(もちろん、アプリ側も対応してないとダメ)

とりあえず、SteamVR HOME や VRChat 等で試してみることをお勧めします。

筆者もこの機能はテスト段階から注目していたのですが、ソースが上手くコンパイルできなかったり、腕が額にへばりついて離れなかったり、スクショが暴発しまくってみたりで、ずーっとマトモに確認できずにいました。

こうして、無事に確認できるようになって良かったです(多謝)

宿命のライバル(?)と言える、VirtualDesktop もハンドトラッキングにはかなり乗り気でしたが、またもや ALVR が一歩早く新機能の実装に踏み込んでくると言う面白い展開に。

Experimental v10

● Added proper hand skeleton and animation
 適切な手の骨格とアニメーションを追加

● ALVR is now using the Oculus Quest icons for SteamVR
 ALVRはSteamVRにOculus Questアイコンを使用しています

● stability improvements: If ALVR encounters an error, SteamVR sould not be affected anymore.
 安定性の改善:ALVRでエラーが発生した場合、SteamVRは影響を受けません。

● added logging into SteamVR: ALVR log entries can now be found in the SteamVR log
 SteamVRへのログ記録を追加:ALVRログエントリがSteamVRログに表示されるようになりました

Requires latest vc runtime link
最新のVCランタイムが必要

If you have previously used ALVR, it is recommended to delete the old config found in %LOCALAPPDATA%\ALVR
以前にALVRを使用したことがある場合は、%LOCALAPPDATA%\ ALVRにある古い構成を削除することをお勧めします

Thanks to all the contributors that make this work possible!
この作業を可能にしてくれたすべての貢献者に感謝します!

https://github.com/JackD83/ALVR/releases/tag/ev10

過去のバージョンは動作したけど、今回のバージョンは起動すらできないと言う方は以下を参考にしてみてください。

有効になっているデバイスに全角文字が使用されているとこのエラーが出てしまうようです。(無効になっていれば動作する)

次のバージョンでは修正されると思いますが、文字コード回りにバグがあるようですね。

Experimental v11

https://github.com/JackD83/ALVR/releases/tag/ev11

今回は「Experimental v11 PRE」「Experimental v11 PRE2」と、小刻みなバージョンアップを挟み、「Experimental v11 PRE2」が正式版として昇格した形になりました。

内容的には、前回のオーディオデバイス文字コードバグの修正と、AMD系GPU対応がメインとなっているようです。

※ v12以降は新記事で取り扱っているのでそちらをご覧ください。

ALVRのダウンロード

ダウンロードは以下のページからどうぞ。

Releases · alvr-org/ALVR
Stream VR games from your PC to your headset via Wi-Fi - alvr-org/ALVR
「ALVR.zip」と「ALVRClient-~.apk」をクリックしてダウンロード
ダウンロード完了

今回使用したバージョンは「Experimental v2」になります。もっと新しいバージョンがあったらそちらをダウンロードしてください。

ALVRサーバーのインストール

任意の場所にフォルダごと解凍してください。筆者は旧ALVRがインストールされている場所に解凍しました。

こっちがサーバー
念の為、旧ALVRフォルダをリネームして保存する形に

こうしておけば元に戻すのも簡単です。参照先も変わらないので、ショートカットがそのまま使えます。

ドライバのインストール

ALVRサーバーを起動して、ドライバをインストールします。

ちなみに「List drivers」ボタンを押すと現在インストールされているドライバが表示されます。

ALVRクライアント(APK)のインストール

まず、Questを開発者モードにしてPCに接続します。
その後は SideQuest を使ってインストールするのがお勧めです。

上のアイコンをクリックしてapkのインストールを行います。

先ほどダウンロードしてきたapkファイルをインストールする
(画像は VirtualDesktop のapkをインストールしているところですが、ALVRでもやり方は同じ)
下にインストール完了のメッセージが出る

既にALVRをインストールしている場合

既にALVRがインストールされていると、古いALVRが邪魔になって新しいALVRがインストール出来ません。この場合は古いALVRをアンインストールしてから新しいALVRをインストールしなおします。

「UNINSTALL APP」をクリック(確認画面は無いので注意)
完了

ALVRの起動

ALVRはOculusストアのアプリではないので、こちらの「提供元不明」メニューから起動します。
ユニバーサルメニューになって場所がわかり難くなりましたが、ちゃんと起動できるのでご安心を。

※ 旧メニューでの起動方法はこちらになります。

ALVRは「ライブラリ」の「提供元不明のアプリ」に入っています。まずはこちらからクライアントを起動しておきましょう。

ALVRサーバーのコネクトボタンを押せと出る

サーバーを見るとクライアントが起動されているQuestが検出されています。「Connect」を押すとクライアントとサーバーが接続され「Start server」を押すとSteamVRが起動し、VRモードが始まります。

サーバーとクライアントは、同じセグメントに接続している必要があります

「Auto connect next time」をチェックすると「Connect」を押さなくても自動で接続されるようになります。接続状態になるとクライアントからSteamVRが起動でき、Questを被ったままVRモードを開始できるのでとても便利です。

コネクト状態。トリガーでSteamVRが起動できる
お馴染みのSteamVRホーム画面に

この画面から遊びたいゲームを選択して起動できます。

ALVRの設定

とりあえず、やっておいた方が良い設定など。

Video

「Bitrate」と「Resolution」を上げるとVRストリーミングの映像品質が上がります。「Resolution」は125%より上に設定するとALVRがクラッシュするので注意。

Resolutionを150%以上に設定するとクラッシュする

「Bitrate」を120Mbpsくらいまで上げて首を左右に振りまくると、クライアントが処理落ちを始めて最終的にフリーズしてしまいます。高く上げても100Mbpsくらいまでと思った方が良さそうです。

また、Reviveを使用してOculusストアのPCVRゲームをする時は「Codec」を「H.264 AVC」に変更すると画面のブルブルが減少します。

VirtualDesktopの場合は特に変更しなくても基本的にブルブルせずとても安定していますが、ベイダー・イモータルはH.264に変更しないとブルブルが酷すぎてプレイできませんでした。

Sound

以前はSteamのストリーミングデバイスを利用してQuestのスピーカーだけ使用可能でしたが、ALVRのバージョンアップにより「VB-CABLE Virtual Audio Device.」を利用してスピーカーとマイクが使用できるようになりました。

VB-Audio Virtual Apps
VB-Audio Virtual Cable and App's

詳しくは冒頭の「Experimental v4」の項目をご覧ください。

ルームセットアップのコツ

SteamVRの初期設定では目線の高さが0cmになっているので自分は床に埋まった状態になっています。また、地面に映っている緑の丸枠はSteamVRが記憶している初期位置で、これが自分の立ち位置とズレているとゲーム等で場面が切り替わる度にズレた位置に立たされます。

レースゲームの場合は車の外になったり、VRChatやスカイリムの場合は壁の中に立たされたりしてワケがわからなくなったりも……

部屋が広ければ自分が緑枠の位置に移動すれば良いのですが、日本の住宅事情ではそうも言ってられないケースが多いのではないでしょうか。

これを直すにはSteamVRでルームセットアップをします。VirtualDesktopの場合は被ったままデスクトップモードに切替えてルームセットアップをすれば良いのですが、ALVRではそれが出来ないので筆者がやっている方法を書いてみます。

Questをアクティブ状態に固定する

ルームセットアップはQuestがスリープ状態だと高さが正しく設定できません。レンズカバーをはめてセンサーを隠し、アクティブ状態に固定してから進めましょう。

センサーを隠してアクティブ状態を保つ

Questを自分が立つ位置の床に置いて、デスクトップのSteamVRを設定します。

ルームセットアップをする

デスクトップで起動しているSteamVRからルームセットアップを選択します。

左上の「三」を押して
「ルームセットアップを実行」をクリック

最初の2画面はただ進めるだけで問題ありません。「立位のみ」を選択してコントローラやヘッドセットが利用可能になっていればOKです。

「スペースをキャリブレーション」の画面で緑枠の位置を設定します。「中央を測定」ボタンを押すとQuestが置いてある位置が初期位置としてSteamVRに記憶されます。

「床の位置を定める」の画面で高さを設定します。Questを床に置いている場合は0cm、被っている場合は今の目線の高さを入力して「床をキャリブレーション」を押すと、現在のQuestの高さが入力した高さに設定されます。

最後に「終了」ボタンを押すとQuestの画面に設定が反映されます。これを押さないと元の画面に戻れないので忘れずに押してください。

「終了」ボタンを押す(地味に忘れがち)

Questを被ってみると緑枠の位置がQuestを置いた位置に変わっています。高さもQuestが自力でトラッキングしてくれるので、目線の高さになっているはずです。

真下を見るとちゃんと枠の中に入っている

LANの構成について

OculusQuest 1/2(OculusGo・GearVR)を無線LAN機能を搭載したWi-Fiルーターに接続し、VRアプリを動かすパソコンはこのルーターに有線LANケーブルで接続するようにします。

インターネット

(ここの速度は関係ない)

モデム(光・ADSL等)

(ここの速度は関係ない)

OculusQuest -- 無線LAN --→ Wi-Fiルーター ←-- 有線LANケーブル --→ PC

光回線やプロバイダ速度などのインターネット側(WAN)の速度は特に関係ありません。
あくまでローカルエリアネットワーク内(LAN)での速度が重要です。

OculusQuest(OculusGo・GearVR)の Wi-Fi は IEEE802.11ac を2ストリーム、OculusQuest2 ではさらにIEEE802.11ax を2ストリーム扱うことができます。

Oculus Quest(OculusGo・GearVR)IEEE802.11ac (Wi-Fi 5)866Mbps (最大)
Oculus Quest 2IEEE802.11ax (Wi-Fi 6)1201Mbps (最大)

Wi-Fiルーターはこれよりも高速に通信できるものを使用し、パソコンとルーターを接続するLANケーブルも1Gbps以上で通信できるものを使用してください。ケーブルのカテゴリー(グレード)で言うと5e以上

ルーターの性能が低いと通信が途切れて映像が不安定になったり、ルーターが高温になってハングアップしたりするので、それなりの安定性・耐久性をもったルーターを使用し、できるだけ他の接続(スマートフォンやゲーム機などの接続)を控えて負荷が減るように心掛けた方が良いです。

ちなみに、筆者が使用しているルーターとLANケーブルはこちらです。参考程度にどうぞ。

 

Windows10 の「モバイルホットスポット」や スマートフォン にある「テザリング」などの Wi-Fi 機能でも Quest を接続することは可能ですが、これらの機能では日本の電波法による制限により 11ac・11ax を含む 5GHz 帯のWi-Fi 電波が使用できなくなっています。(一部裏技的に使用できるものもあるにはある)

この場合は 11g や 11n などの 2.4GHz で Quest と接続することになりますが、映像がガクガクしたり遅延が大きくなったりコマが飛んだりして安定せず、本来の性能が発揮できないことが多いのでお勧めできません。

ルーターの設定

※ 2020/02/13 追記
こちらの項目で書かれている不具合は、OculusQuest v13 アップデートで修正された模様。

PCとルーターのスペックは十分あるはずなのに、映像が定期的(3~5分毎?)に数秒間乱れる現象が起こったりします。

Questの映像が乱れている時に鼻のスキマからPC画面を見ても向こうは大丈夫。VirtualDesktopの場合は映像が乱れる代わりに定期的に数秒間カクカクします。もちろんPCはカクカクしていません。(PCもカクカクしてたら単純にPCのスペック不足)

TCP接続のVirtualDesktopとUDP接続のALVRで現象の出かたに違いがありますが、起こるタイミングが同じなので根っこの原因はどちらも同じ感じがします。

そんな状態に悩まされていた時にTwitterで解決方法を書かれている方がいて、筆者もそれを参考にルーターを設定してみました。

筆者のルーター設定

理由はよくわかりませんが、40・20MHzを使用するように変更するとこの現象が嘘のように無くなります。

この設定を入れると通信速度が若干落ちてしまうのですが、800Mbps(40MHz)でも十分過ぎる通信速度が出るので特に問題は無いと思います。(さすがに346.7Mbps(20MHz)だと遅すぎて映像が安定しなくなる)

筆者はバッファローのAirStation(WSR-2533DHP2)を使っており、参考にこちらの設定を貼ってみました。TwitterではNECのAterm・IOデータ機種の設定画面が貼られているので、これを参考にルーターの設定を変えると、より映像が安定するかもしれません。

ちなみに、VirtualDesktop 開発者の Guy Godin 氏の使用しているルーターは NETGEAR の Orbi で、こちらは80MHzのままでも VirtualDesktop が正常に動作しているとのことです。

おそらく原因は同じだと思われますので、ALVRも同様に正常動作すると思います。

これらのルーターを使っても満足に動作しない場合は、おそらく通信環境以外の所に原因があると思われます。

PCスペックの見直しやWindowsの不調(Update不足・相性の悪いアプリの常駐など)を疑いましょう。

ゲームをプレイしてみる

以前は高いビットレートを任意に設定できる ALVR の方が VirtualDesktop よりも高画質な映像が得られやすい印象でしたが、VirtualDesktop の猛烈なバージョンアップにより、現在では VirtualDesktop の方が画質・遅延共に高品質になりました。

とは言え ALVR も全くダメと言うわけではなく、音ゲーなどの遅延にシビアなアプリ以外ではほとんど問題にならないと思います。

VirtualDesktop にある「Increase video nominal range」のような設定は無いので、あっちで慣れていると ALVR は全体的に灰色掛ったような色に感じると思います。

VRChat

以前のバージョンではVIVEコントローラ設定だったようで、表情は右スティックで変化、移動はスティックを倒して押込みだったのですが、これが VirtualDesktop 同様にTouchコントローラ設定に変わりました。

ボタン・スティック・トリガーに触れただけで反応する微妙な操作も同様に可能です。

移動もスティックを倒しただけで可能になりマイクも使用できるようになったので、ほぼ常用可能な状態になりました。

The Elder Scrolls V: Skyrim VR

つい先日までセールでアホみたいに安かったスカイリムVRです。通常版もスペシャルエディションも持っているのに思わず買ってしまいました(笑)

スカイリムは元々動作に問題無かったそうですが、コントローラーの角度が直ったので更にプレイしやすくなったのではないでしょうか。

Gun Club VR

VirtualDesktop と比較すると ALVR は素直にトラッキングしてるのに対して、VirtualDesktop はコントローラー予測を切っても気持ち余計に動いている感じがします。(遅延を隠すために常時微予測が入ってる疑惑(笑))

ALVR の方がブレが少ないので狙いやすく感じますが、コントローラーの遅延も大きく感じるのでどっちもどっちな感も。

Gal*Gun 2

こちらは元々Touchコントローラに対応してないのか、VirtualDesktop でもメニュー選択がスティックを倒して押込みです。これは今回の ALVR も変わりません。

こちらも特に問題無いですね。おそらく、近日中に画像を差替えることになると思いますが、やっぱり Gal*Gun は最高です(爆)

最後に

以前のテストでは ALVR でビットレートを90Mbpsに設定するとチリチリとノイズが走っていたのですが(VirtualDesktop の内部解像度変更時に出るようなアレ)、今回のテストではそれが全く出なくなっていて非常に安定した映像になっていました。

VirtualDesktop の方が画質・遅延・UI(ユーザーインターフェース)など、総合的に洗練されている(有料アプリ分の価値は間違いなくある)ので基本的には VirtualDesktop を使っている状態なのですが、ALVR も一歩及ばないながらにも十分頑張っている方なので、トラブルなどに備えて ALVR も使えるようにしておくのもアリだと思います。

コメント

  1. VRC初心者 より:

    記事のExperimental 4の部分に従いサウンドの設定を行ったのですが、
    自分の声が帰ってくるだけで相手には聞こえないようでした。VBCableの再インストールなども試したのですが、他に何かするべきことはあるでしょうか?

    • KYStoryKYStory より:

      Experimental v9での説明になってしまいますが、WindowsやALVRのサウンド設定は大丈夫でしょうか?




      ALVRのサウンド設定は設定直後にSteamVRを起動しても反映されていない場合があるので、一旦ALVRサーバーを終了して設定を保存させてから再度サーバーを起動してSteamVRに接続した方がよいです。

      VRC初心者さんと言うことで、VRChatで使うのかなと勝手に仮定して(笑)VRChatの設定画像も追加しておきます。

      マイクはONになっているか?

      VRChatの方でもデバイスが選択されているか?

      適当なマイクテストワールドでテストしてみる

      • VRC初心者 より:

        お返事が遅くなってしまいもうしわけありません、丁寧な返信ありがとうございます!
        今度こそちゃんと相手にも声が聞こえたようでした!

        • VRC初心者 より:

          追記:この設定でもエコーするのは避けられませんでしたが、諦めることにしました。

          • KYStoryKYStory より:

            エコーはウチの環境でも出ているので、おそらく現在のALVRの仕様なんだと思われます。(やまびこのように繰り返してしまうのも仕様っぽい?)

            OculusLinkやVirtualDesktopではそう言った不具合が無く普通に使えますが、Questのマイク自体がイマイチってことで別にヘッドセットを使用されている方も結構いるようですね。

  2. VRC初心者 より:

    今ではもう私の環境でも再現できなくなりましたが、ALVR環境でもハウリングしないことがありました。ゲーム内の音をマイクの出力として使っているのが原因なようですが、直し方はわかりませんね…ALVRでも可能な事をわざわざVDでやるのは気が引けますね…

タイトルとURLをコピーしました