OpenXR の概要

HoloLens 2 で OpenXR を使用するか、デスクトップで Windows Mixed Reality イマーシブ ヘッドセットを使用して開発できます。 ヘッドセットにアクセスできない場合は、代わりに HoloLens 2 Emulator または Windows Mixed Reality シミュレーターを使用できます。

OpenXR for HoloLens 2 の概要

HoloLens 2 向けの OpenXR アプリケーションの開発を開始するには

  1. HoloLens 2 デバイスを設定するか、最新バージョンの HoloLens 2 エミュレーターをインストールします

これで完了です。 OpenXR API ランタイムは、HoloLens 2 デバイスにプレインストールされており、ストアを通じて自動更新を受け取ります。

すべての拡張機能を備えた最新の OpenXR ランタイムがインストールされていることを確認するには、HoloLens デバイスまたはエミュレーターから Store アプリを起動します。 Store アプリの右上のメニューを開き、[ダウンロードと更新] を選択し、[更新プログラムの取得] を選択します。

Note

エミュレーターを使用している場合は、エミュレーター イメージを起動するごとにリセットされるので、最善の方法は、HoloLens 2 エミュレーター イメージの最新バージョンがあることを確認することです。

OpenXR for Windows Mixed Reality ヘッドセットの概要

イマーシブな Windows Mixed Reality ヘッドセット用の OpenXR アプリケーションの開発を開始するには

  1. 少なくとも Windows 10 October 2020 Update (20H2) を実行していることを確認してください。これは、Windows Mixed Reality エンド ユーザーが OpenXR アプリケーションを実行するためのサポートされている最低の OS リリースです。 以前のバージョンの Windows 10 でも OpenXR が動作するはずですが、理想的なパフォーマンスや品質が伴わない可能性があります。 以前のバージョンの Windows 10 を使用している場合は、Windows 10 Update Assistant を使用してアップグレードできます。
  2. Windows Mixed Reality ヘッドセットを設定するか、Windows Mixed Reality シミュレーターを有効にします

これで完了です。 Windows Mixed Reality OpenXR ランタイムがインストールされ、すべての Windows Mixed Reality ユーザーに対して自動的にアクティブ化されます。 その後、Microsoft Store によってランタイムが最新の状態に維持されます。

PC で複数の VR ヘッドセットを使用している場合は、アクティブな OpenXR ランタイムが別のベンダーのシステム ソフトウェアによって変更される可能性があることに留意してください。 Windows Mixed Reality OpenXR ランタイム再度アクティブ化するには、スタート メニューから [Mixed Reality ポータル] を起動し、ウィンドウの上部にある [修正] を選択します。 そのボタンが見つからない場合、OpenXR ランタイムは既にアクティブになっています。

Windows Mixed Reality OpenXR ツールの取得

HoloLens 2 または PC VR 用の OpenXR アプリケーションを開発している場合、この Windows Mixed Reality OpenXR ツール アプリが役立つことがあります。 これによって、さまざまな OpenXR 機能のデモと、アクティブなランタイムと最新のヘッドセットに関する重要な情報を含む [OpenXR Runtime] (OpenXR ランタイム) ページが提供されます。

OpenXR Tools アプリを検索して HoloLens 2 にインストールするには、ストア アプリに移動し、"OpenXR" を検索します。

HoloLens 2 エミュレーターを使用しているときに、Windows Mixed Reality OpenXR 開発者ツールをインストールするための最も簡単な方法は、Windows デバイス ポータルを使用することです。 ポータルで [OpenXR] ページに移動し、[Developer Features] (開発者向け機能)[Install] (インストール) ボタンを選択します。 これは HoloLens 2 物理デバイスでも機能します。

OpenXR Tools for Windows Mixed Reality アプリ

OpenXR API とサンプル アプリの確認

OpenXR 開発に必要なツールをまだインストールしていない場合は、必ずツールをインストールしてください。

BasicXrApp プロジェクトでは、シンプルな OpenXR サンプルと、Win32 および UWP HoloLens 2 プロジェクト ファイルが Visual Studio に表示されます。 ソリューションには HoloLens UWP プロジェクトが含まれているため、完全に開くには、Visual Studio でユニバーサル Windows プラットフォーム開発ワークロードをインストールする必要があります。

パッケージ化と展開の違いのために、Win32 プロジェクト ファイルと UWP プロジェクト ファイルは分離されていますが、各プロジェクト内のアプリ コードはほぼ同じです。

OpenXR API のツアーについては、Visual Studio のBasicXrApp サンプルのこの 60 分間のビデオをご覧ください。 このビデオでは、OpenXR API の主要な各コンポーネントを独自のエンジンで使用する方法を説明し、現在の OpenXR 上でビルドされたいくつかのアプリケーションのデモを紹介しています。

OpenXR アプリの実行

OpenXR Win32 デスクトップの .EXE を構築した後で、OpenXR をサポートする任意のデスクトップ VR プラットフォーム上で、VR ヘッドセットを使用して、.EXE を使用できます。ヘッドセットのタイプは関係ありません。

OpenXR UWP アプリ パッケージをビルドした後で、そのパッケージを HoloLens 2 デバイスまたは HoloLens 2 エミュレーターに展開できます

既存のプロジェクトでの OpenXR の使用

既存のプロジェクトで OpenXR の使用を開始するには、OpenXR ローダーを追加します。 ローダーによってデバイス上のアクティブな OpenXR ランタイムが検出され、実装されているコア関数と拡張関数へのアクセスが提供されます。

Visual Studio プロジェクトから公式の OpenXR NuGet パッケージを参照するか、Khronos GitHub リポジトリから公式の OpenXR ローダー ソースを含めることができます。 どちらの方法でも、OpenXR 1.0 の主要機能に加えて、公開されている KHREXT、および MSFT 拡張機能にアクセスできます。

MSFT_preview 拡張機能も試したい場合は、Mixed Reality GitHub リポジトリからプレビューの OpenXR ヘッダーをコピーできます。

公式の OpenXR NuGet パッケージを参照する

OpenXR.Loader NuGet パッケージは、事前構築済みの OpenXR ローダー .DLL を Visual Studio C++ ソリューションで参照するための最も簡単な方法です。 これにより、OpenXR 1.0 の主要機能に加えて、公開されている KHREXT、および MSFT 拡張機能にアクセスできます。

OpenXR.Loader NuGet パッケージの参照を Visual Studio C++ ソリューションに追加するには

  1. ソリューション エクスプローラーで、OpenXR を使用するプロジェクトを右クリックし、[NuGet パッケージの管理] を選択します。
  2. [参照] タブに切り替えて、OpenXR.Loader を検索します。
  3. OpenXR.Loader パッケージを選択し、右側の詳細ウィンドウで [インストール] を選択します。
  4. [OK] を選択して、プロジェクトへの変更を受け入れます。
  5. #include <openxr/openxr.h> をソース ファイルに を追加して、OpenXR API の使用を開始します。

OpenXR API の動作の例を確認するには、BasicXrApp サンプル アプリを確認してください。

公式の OpenXR ローダー ソースを含める

たとえば、余分なローダー .DLL を回避するために、自分でローダーをビルドする場合は、公式の Khronos OpenXR ローダー ソースをプロジェクトにプルできます。 これにより、OpenXR 1.0 の主要機能に加えて、公開されている KHREXT、および MSFT 拡張機能にアクセスできます。

ここから始める場合は、GitHub の Khronos OpenXR-SDK リポジトリの手順に従います。 プロジェクトは CMake を使用してビルドするように設定されています。MSBuild を使用している場合は、自身のプロジェクトにコードをコピーする必要があります。

プレビュー拡張機能の使用

拡張機能ロードマップに記載されている MSFT_preview 拡張機能は、フィードバックを収集するためにプレビューされている試験的なベンダー拡張機能です。 これらの拡張機能は開発者デバイス専用であり、実際の拡張機能が出荷されるときに削除されます。

利用可能な MSFT_preview 拡張機能を試したい場合は、次の手順に従ってプロジェクトを更新してください。

  1. 上記のいずれかの方法に従って、OpenXR ローダーをプロジェクトに統合します。
  2. プロジェクト内の標準の OpenXR ヘッダーを GitHub の Mixed Reality OpenXR リポジトリのプレビュー ヘッダーに置き換えます。

その後で、ターゲットの HoloLens 2 またはデスクトップ PC でプレビュー拡張機能アクティブ化するには

  1. すべての拡張機能を備えた最新の OpenXR ランタイムを確実に取得するには、ターゲット デバイスまたはエミュレーター内から Store アプリを起動し、右上のメニューを開いて、[ダウンロードと更新] を選択して、[更新プログラムの取得] を選択します。
  2. Windows Mixed Reality OpenXR 開発者ツール アプリを Microsoft Store からターゲット デバイスにインストールして実行します。
  3. [Settings] (設定) タブに移動し、[Use latest preview OpenXR runtime] (最新のプレビュー OpenXR ランタイムを使用する) を有効にします。 これにより、プレビュー拡張機能がアクティブになっているプレビュー ランタイムがデバイス上で有効になります。 OpenXR Tools for Windows Mixed Reality アプリの [設定] タブ
  4. Windows Mixed Reality OpenXR 開発者ツール[OpenXR Runtime] (OpenXR ランタイム) タブに表示されるランタイム バージョンが、試す予定のプレビュー拡張機能の必要なバージョンと一致していることを確認します。 一致している場合は、拡張機能の一覧に拡張機能が表示されます。 安定した拡張機能が使用できるようになったときに、プレビュー拡張機能は削除されます。
    OpenXR Tools for Windows Mixed Reality アプリの [OpenXR Runtime] タブ

これらのプレビュー拡張機能のドキュメントと、それらの使い方のサンプルについては、Mixed Reality OpenXR リポジトリを参照してください。

トラブルシューティング

OpenXR 開発環境の起動と実行に問題がある場合は、トラブルシューティングのヒントを確認してください。