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のサポートはまれで、QtによるPCVRのテストは行われていません。

注意: 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 のみ、macOS は今のところ Qt ではテストしていません。)

その他の情報

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

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.