PCVR

概要

スタンドアロンデバイスでは、すべてのレンダリングと処理はヘッドセット自体で行われます。PCVR とも呼ばれる非スタンドアロン型デバイスでは、すべてのレンダリングと関連処理のほとんどは、物理的なケーブルまたはワイヤレスでヘッドセットに接続されたコンピュータ上で行われます。

開発者にとって、PCVRベースの環境での作業は、スタンドアロンVRデバイスで継続的にデプロイとテストを行うよりもシンプルで生産性が高くなります。開発、テスト、デバッグ、プロファイリングの方法やツールは、通常のデスクトップWindowsやLinuxアプリケーションとほとんど同じだからです。

しかし、エンドユーザーにとって、PCVRのセットアップと実行は、単にスタンドアロン・デバイスにアプリケーションをインストールするよりも複雑な場合があります。

両方のアプローチが可能なデバイス(例えば、Meta Quest 3)では、この2つを組み合わせることが生産性向上に役立ちます。PCVR(またはMeta XRシミュレータ)を開発中に使用するのは理にかなっている場合ですが、AR機能とエンドユーザーへの最終的な提供については、スタンドアロン(Android)ビルドに集中しましょう。

注意: 同じ Qt アプリケーションを Android 上でスタンドアローンモードで実行する場合と、Windows 上で PCVR モードで実行する場合では、CPU、GPU、ソフトウェアスタックが全く異なるため、パフォーマンスが大きく異なる可能性があります。パフォーマンス・プロファイリングの結論は、常に適切な環境でネイティブに実行し、プラットフォーム固有のツールを使用してプロファイリングすることによって導き出されるべきです。

入力に関しては、ヘッドセットのコントローラからのデータは、OpenXR APIを介してPC上で動作するアプリケーションに配信されます。さらに、アプリケーションはPCに接続された周辺機器に依存することもできますが、キーボードやマウス入力に依存することは、多くの潜在的な落とし穴があるため、慎重に検討する必要があります。

さらなる考慮事項

PCVRでは、品質と性能はホストPCの能力に大きく依存しますが、ストリーミング技術やワイヤレスネットワークの帯域幅などの関連要因も結果に影響します。これはまた、特にワイヤレス・ストリーミングが使用されている場合、視覚体験が実行ごとや環境ごとに異なる可能性があることを意味します。

スタンドアロン・デバイス(特にAR関連)に比べて、一部の機能が利用できなかったり、制限されたりする場合があります。例えばパススルーを考えてみよう。スタンドアロンモードでは、アプリケーションと基礎となるソフトウェアスタックは、ヘッドセットのカメラフィードに簡単にアクセスできます。リモートコンピュータからストリーミングする場合、パススルーは高価になり、PCへの追加データ転送が多くなる可能性があります。そのため、ARや空間関連の機能がPCVRシステムで利用できないことは珍しくありません。

PCVRエコシステムでは、OpenXR実装と有線または無線ストリーミングを提供する複数のソリューションがあり、使用するデバイスによって可用性は異なります。一部のランタイムは特定のストリーミング・ソリューションと結びついており、それぞれが異なる機能セットを提供することがあります。

3D APIのサポートもさまざまだ。一般的に、Direct 3D 11、Direct 3D 12、およびVulkanは、Windows上のすべてのOpenXR実装でサポートされることが期待できます。OpenGLのサポートはまれで、PCVRでQtがテストしたことはありません。

注意: Direct 3D 11 の使用は推奨されません。マルチビューレンダリングなどの重要な機能は、この API ではサポートされていません。代わりに Direct 3D 12 を使用してください。

使用する 3D API を変更する方法は、Qt Quick または Qt Quick 3D アプリケーションと変わりません。環境変数QSG_RHI_BACKEND を設定するか(たとえば、d3d12 )、QQuickWindow::setGraphicsApi() を呼び出します。

OpenXR 実装の選択

標準の Khronos OpenXR ローダーでは、ロードする実装を変更する方法が複数あります:

  • 環境変数XR_RUNTIME_JSON を設定します。例えば、XR_RUNTIME_JSON=c:\MetaXRSimulator\meta_openxr_simulator.json を設定すると、その後に起動する Qt Quick 3D Xr アプリケーションが Meta XR Simulator の OpenXR 実装を選ぶようになります。
  • また、レジストリで永続的に設定することもできます。(Windows の場合)ActiveRuntime の値をチェック/変更します。Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\OpenXR\1
  • ストリーミングソリューションによっては、特定の OpenXR 実装を強制的に使用するオプションが設定されている場合があります。

Meta Quest 3用のワイヤレスストリーミングソリューション

テストされた構成の表

メタクエスト3

  • 有線接続(USB-C)、Oculus OpenXRランタイム
  • 有線接続(USB-C)、SteamVR OpenXRランタイム
  • AirLink経由のワイヤレス接続、Oculus OpenXRランタイム
  • AirLink経由のワイヤレス接続、SteamVR OpenXRランタイム
  • SteamLink経由のワイヤレス接続、SteamVR OpenXRランタイム
  • 仮想デスクトップ経由のワイヤレス接続、SteamVR OpenXR ランタイム
  • 仮想デスクトップ経由のワイヤレス接続、VDXR OpenXRランタイム

スペシャル

  • Meta XR シミュレータ(Windows のみ。)

その他の情報

このページでは、PCVRにまつわる詳細、設定の問題、可能性のすべてに踏み込むことはできません。ストリーミングとOpenXRの実装のトピックについては、VDXR wikiを参照することをお勧めします。

©2024 The Qt Company Ltd. ここに含まれるドキュメントの著作権は、それぞれの所有者に帰属します。 ここで提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。