Virtual Realit-ism.

Addicted To Screen Door Effect

[Meta Quest] Air Link

Edit (2022-03-16): Oculus Dubug Toolに新たに加わったMobile ASWにつての補足。

★★★ PC側の設定 ★★★

Oculusのソフトを立ち上げ、「デバイス」→「QuestとTouch」→「グラフィック設定」。ここでフレームレートと解像度が設定できます。解像度に関してはいじらず「自動」でよいと思います。規格外に軽い・重いゲームをプレーする場合等は、マニュアルで解像度を設定するのもありではないかと。しかし、これを頻繁にいじる人には、下記で説明するOculus Tray ToolSteamVR側での解像度調整をお勧めします。ゲーム内のオプションで解像度が設定できるのであらば、そちらが優先される為、それに越したことはありませんが。
★★★ Quest側の設定 ★★★

PCに接続後、「Oculus Air Link」ボタンを押すと、ビットレートの設定が可能。nVidia製のGPUでは200Mbps、AMD製のGPUでは100Mbpsが最高値。「ダイナミックビットレート」のままで良いと思います。
★★★ ゲームごとの設定 (Oculusゲーム) ★★★
Oculus Tray Tool(OTT)とは、あまりにもシンプル過ぎるOculusのソフトと、色々な機能がありながらも開発用の為、使い勝手の悪いOculus Dubug Toolに、もっと使いやすUIで作られたエンドユーザー用のツールです。OTTの代表的な機能は次の通りです。
  • 各ゲーム用の設定を保存し、ゲームが起動するとその設定を自動的に読み込む。
  • Oculus Dubug Toolでは設定の保存が出来ないスペースワープ等の保存も可能。
  • CPU動作優先度も設定可能。
OTTはこちらからダウンロードしてください。

「Oculusゲーム」とここでは言っていますが、厳密にはOculus runtimeを使用しているゲームのことで、SteamVRのゲームでもOculus runtime対応のゲームはOTTが使用可能です。PCのSteamソフトから、ライブラリー内にあるゲームをShift+ダブルクリックすると、Oculus runtimeに対応したゲームの場合、起動方法をOculusかSteamVRのruntimeから選択できるようになります。

OTTで色々設定する前に、OculusのPCソフト、OTT、Oculus Dubug Toolだのあり、どのソフトの設定が優先されるのか迷ってしまわないよう、ここで一般的な優先順位を説明しておきます。(1が最優先であとは順番通り。)
  1. ゲーム内の設定。例えば、ゲーム内オプションに解析度設定があると、OTTで変更してもダメ。
  2. OTTとOculus Dubug Tool。(OTTはゲームの設定をOculus Dubug ToolではなくOTTで変更するだけで、OTTで変えた設定はOculus Dubug Toolでも同時に繁栄されます。)
  3. Oculus PCソフトで設定するFPSと解像度。Quest側で設定するのビットレート。
上のスクリーンショットにある「Profiles」項目にある「View & Edit」をクリックするとゲーム一覧画面になり、そこから新たなプロファイルが追加できます。
  • (Default) Super Sampling: レンダリング解像度の設定。割合での設定です。0の場合は自動。
  • (Default) ASW Mode: スペースワープの設定。(インターネットによれば、「Auto」と「Adaptive」の違いは不明。開発者なぜ説明せん!)ちなみにスペースワープとは、FPSが定められた値に届かない場合、規定値の半分のFPSでレンダリングをして、足りない分のフレームをマジックの力により創造して規定値のFPSを確保する裏技。しかし、インプットの遅延も増加してします。
  • Adaptive GPU Scaling: GPUの負担をみて、その場その場で解析度を変えてくれる機能。この機能に対応しているゲームにのみ有効。
  • Mirror FOV Multiplier: 縦横のFOVの調整。例えば、両方0.9にすると、画面端が10%失われるかわりに、レンダリングの負担が減りパフォーマンスが上がる。
  • OVR Server Priority・CPU Priority: CPU動作優先度の設定。
  • Distortion Curvature: 「High」だと画面真ん中の解像度が高くなる。「Low」だと画面外側の歪みが最小限に抑えられることにより、外側がクッキリ見える。
  • Encode Resolution Width: 横のピクセル数で解析度を設定。
  • Bitrate: 固定ビットレート用のビットレート。Air Linkの最大は200Mbpsで、それ以上の数値の場合Air Linkに異常な遅延が発生するので気をつけてください。Linkを使用している場合は、最大500Mbpsまで上げられる。
  • Sharpening: 画像をシャープにする。画面がクッキリするので、ハイエンドGPUを使って解像度を非常に高くしている人以外は、常に「Enabled」がお勧め。
  • Detection: ゲーム起動の監視方法。上手くプロファイルが自動ロードされない場合は、ここを変えて試してみる。
★★★ ゲームごとの設定 (SteamVRゲーム) ★★★

OTTのような細かい設定は出来ませんが、重要な解像度の調節等は出来ます。ちまたでは、Oculus側とSteamVR側の両方で設定するのは避けた方が良いと言われていますが、ゲーム内オプションで設定が不可能な場合はSteamVRゲームの解像度をゲーム毎で設定するにはこの方法しかありません。
  1. ダッシュボードから設定画面を起動する。
  2. 「動画」メニューを選択。
  3. 「アプリケーションごとの動画設定」へ行くと解像度等の設定が可能。解像度の設定には%の数値も表示されていますが、ALによって既に変更されている解像度の%に上乗せした%の値なのでわかりにくいです。なので、ピクセルの値に注目した方が良いです。
★★★ Oculus Dubug Toolでの設定 ★★★

残念なことに、「Service」→「Oculus Link」項目外は、一度Oculus Serviceを再スタートしてしまうと、全てリセットされてしまいます。なのでOTTで対応していない項目(Air Linkに関する項目)以外は、基本はOTTで設定した方が良いです。ここで説明していない項目にも興味がある方は下にあるリンク(特に英語ですがSmart Glasses Hub)からどうぞ。
  • Pixels Per Display Pixel Override: レンダリング解像度の設定。割合での設定です。0の場合は自動。
  • FOV-Tangent Multiplier: 縦横のFOVの調整。例えば、両方0.9にすると、画面端が10%失われるかわりに、レンダリングの負担が減りパフォーマンスが上がる。
  • Adaptive GPU Performance Sacle: GPUの負担をみて、その場その場で解析度を変えてくれる機能。この機能に対応しているゲームにのみ有効。
  • Asynchronous Spacewarp: スペースワープの設定。
  • Distortion Curvature: 「High」だと画面真ん中の解像度が高くなる。「Low」だと画面外側の歪みが最小限に抑えられることにより、外側がクッキリ見える。
  • Encode Resolution Width: 横のピクセル数で解析度を設定。
  • Encode Dynamic Bitrate: Quest側の設定で説明しているビットレートの設定。「Enable」だとダイナミックビットレートがオン。「Disabled」でオフ。じゃあ「Default」はなんじゃ?
  • Dynamic Bitrate Max: ダイナミックビットレート使用中でのビットレートの最大値。Linkでも500mbpsが限度。
  • Dynamic Bitrate Offset (Mbps): ダイナミックビットレート使用中でのビットレートのオフセット。例として、通常のビットレートが60~80mbpsで稼働していた場合で、この値を20とすると、80~100mbpsで稼働するように。
  • Encode Bitrate (Mbps): 固定ビットレート用のビットレート。Air Linkの最大は200Mbpsで、それ以上の数値の場合Air Linkに異常な遅延が発生するので気をつけてください。Linkを使用している場合は、最大500Mbpsまで上げられる。
  • Link Sharpening: 画像をシャープにする。画面がクッキリするので、ハイエンドGPUを使って解像度を非常に高くしている人以外は、常に「Enabled」がお勧め。
  • Mobile ASW: Air Link Insurance (AFI)のことで、Air Link使用時のみ有効。基本はスペースワープと同じですが、スペースワープはPCに負荷がかかりすぎている時に有効なのに対し、AFIはWiFiのシグナルに不都合などが発生した場合に有効な技術。AFIは120Hzリフレッシュレートには対応していません。
★★★ パフォーマンスオーバーレイ ★★★
パフォーマンスオーバーレイの表示の仕方と読み方を説明します。パフォーマンスオーバーレイを理解すれば、遅延やカクカク問題が生じた際、何を改善すればよいのかが判ります。パフォーマンスオーバーレイは、Oculus Dubug Toolの一部で、パフォーマンスオーバーレイだけでなく、OculusのPCソフトでは設定できない事がこのツールを使うと設定できます。色々便利なのでショートカットを作っておくのをお勧めします。
  1. 通常ならば「C:\Program Files\Oculus\Support\oculus-diagnostics\OculusDebugTool.exe」にあるexeを起動する。
  2. 「HUDs」→「Visible HUD」で「Performance」を選択。
  3. 「HUDs」→「Visible HUD」→「Performance HUD」→「Mode」で「Performance Summary」だと「Oculus Performance」のHUDが、「Oculus Link」だと「Oculus Link」のHUDが表示。
  4. 「HUDs」→「Visible HUD」→「Layer」で「Layer 0 Info」のHUDが表示されます。注意:「Layer 0 Info」の使用中はSteamVRのダッシュボードが表示出来なくなります。
これらのオーバーレイは一部を除き、Oculus Tray Toolからでも表示できます。
  • 下記にあるOculus Tray Toolを別途でインストールした後、起動する。
  • 「Game Settings」→「Visible HUD」→「Performance」で「Oculus Performance」のHUDを表示。
  • 「Game Settings」→「Visible HUD」→「Pixel Density」で「Layer 0 Info」のHUDを表示。注意:「Layer 0 Info」の使用中はSteamVRのダッシュボードが表示出来なくなります。
  1. App Motion-to-Photon Latency: 総合的な遅延値。低ければ、低い方が良い。80ms以下を目指す。
  2. Perfromance headroom: PCの踏ん張り度。+%は余裕。-%は必死。+10%くらいが適当。マイナスになると遅延増加やカクカクが頻繁に起こる要因になるため、ゲームのグラフィックの設定変更や、規定FPSを下げる、解像度を下げるなどを試してみるとよい。
  3. App Frame rate (Hz): フレームレート数。この値が常に設定値にある事が望ましい。そうでない場合、ゲームのグラフィックの設定変更や、規定FPSを下げる、解像度を下げる必要がある。
  4. Encode/Xfer/Decode (ms)
    • 赤: 画像のエンコードから生じている遅延。この数値が高すぎる場合は、ビットレート又は、解像度を下げるとよい。
    • 緑: データ転送から生じる遅延。Air Linkの場合でこの数値が高すぎる場合は、WiFiルーターに接近してみたり、ルーターの設定を変えてみる。常に5ms程度であるのが好ましい。
    • 青: 画像のデコードから生じている遅延。この数値が高すぎる場合は、ビットレートを下げてみると良い。
  5. Left・Right FOV: 視野の範囲。
  6. Left・Right Viewport: 解像度。
  7. Pixel Density: 画素密度。
★★★ 参考になるリンク ★★★