MRTK を使用せずに新しい OpenXR プロジェクトを設定する
Microsoft とコミュニティは、mixed Reality 用に環境を自動的に設定する Mixed Reality Toolkit (MRTK) などのオープンソース ツールを作成していますが、一部の開発者は、最初からエクスペリエンスを構築したいと思う場合があります。
考慮するその他の OpenXR 以外の構成オプション
Windows XR: Microsoft では、Unity 2020 の新しいプロジェクトに Windows XR プラグインを使用することはお勧めしません。 代わりに、Mixed Reality OpenXR プラグインを使用する必要があります。 ただし、Unity 2019 を使用していて、ARCore/ARKit デバイスとの互換性のために AR Foundation 2.0 が必要な場合、このプラグインはそのサポートを有効にします。
レガシ XR:
まだ 2019 以前Unityしている場合は、従来の組み込み XR サポートを使用することをお勧めします。
新しいプロジェクトを開始する場合は、代わりに Unity 2020 をインストールし、Mixed Reality OpenXR プラグインを使用することをお勧めします。
OpenXR の概要: 新しいUnity プロジェクトを作成する
Unity ハブを起動します。
[ プロジェクト ] タブで、[ 新しいプロジェクト] をクリックします。
[新しいプロジェクト] の下にあるドロップダウンをクリックし、目的のエディターバージョンを選択します。
選択したテンプレートが 3D Core であることを確認します。
[ プロジェクト名 ] ボックスに、プロジェクトの名前を入力します (例: "MRTK チュートリアル")。
[ 場所 ] ボックスで、フォルダー アイコンをクリックし、プロジェクトを保存するフォルダーに移動して選択します。 新しいフォルダーを作成することもできます。
[ プロジェクトの作成] をクリックします。 これにより、プロジェクトがUnityで開きます。
注意
Windows で作業する場合、MAX_PATHの制限は 255 文字です。 Unityは、これらの制限の影響を受け、ファイル パスが 255 文字を超える場合、コンパイルに失敗する可能性があります。 そのため、Unity プロジェクトは、可能な限りドライブのルートの近くに保存することをお勧めします。
ビルド ターゲットを設定する
メニュー バーで、[ ファイル>Build 設定...] を選択します。
Windows Mixed Reality用のアプリをビルドするには、ビルド ターゲットを選択する必要があります。 ユニバーサル Windows プラットフォーム (UWP) のビルド設定は、HP Reverb G2 のようなイマーシブ ヘッドセットを含む任意のデバイスを対象とします。 これは、HoloLens 2用に構築する場合に最適な選択です。ただし、デスクトップ VR をターゲットとする場合は、PC、Mac & Linux スタンドアロン プラットフォームを使用することをお勧めします。
次のいずれかの操作を行います。
デスクトップ VR を対象とする場合:
- 新しいUnity プロジェクトで既定で選択されている PC、Mac & Linux スタンドアロン プラットフォームを保持します。
HoloLens 2を対象とする場合:
- [プラットフォーム] で、[ユニバーサル Windows プラットフォーム] を選択します。 次の設定がアクティブであることを確認します。
ビルドの種類: D3D プロジェクト
ターゲット SDK バージョン: 最新のインストール済み
最小プラットフォーム バージョン: 10.0.10240.0
Visual Studio のバージョン: 最新のインストール済み
[ プラットフォームの切り替え ] ボタンをクリックします。 Unityプラットフォームの切り替え中に進行状況バーが表示されます。
スイッチ プラットフォーム プロセスが完了したら 、[ビルド設定] ウィンドウを閉じます。
Mixed Reality機能ツールをダウンロードしてインストールする
Mixed Reality OpenXR プラグインは、Unity用のパッケージの形式で提供されます。 機能パッケージを検出、更新、インポートする最善の方法は、Mixed Reality機能ツールを使用することです。 名前またはカテゴリでパッケージを検索し、その依存関係を確認し、インポートする前にプロジェクトのマニフェスト ファイルに対する提案された変更を表示できます。
Microsoft ダウンロード センターからMixed Reality機能ツールの最新バージョンをダウンロードします。
ダウンロードが完了したら、実行可能ファイル MixedRealityFeatureTool.exe に移動し、それを使用してMixed Reality機能ツールを起動します。
Mixed Reality OpenXR プラグインをインポートする
Mixed Reality機能ツールで、[開始] を選択します。
[参照] ボタン (下の画像の "3 ドット" ボタン) を選択し、Unity プロジェクトを含むフォルダーに移動して開きます。
注:
ツールの [プロジェクト パス ] ボックスにはいくつかの値が含まれている必要があるため、既定では円記号 ("_") が挿入されます。
フォルダーを選択すると、ツールによって、プロジェクト フォルダー Unity有効であることを確認します。
[ 機能の検出] を選択します。
注: ツールがフィードからパッケージを更新する間、数秒待つ必要がある場合があります。
[ 機能の検出] ページには、6 つのパッケージ グループの一覧があることに注意してください。
プラットフォーム サポート (0/5) の左側にある [+] ボタンをクリックし、最新バージョンの Mixed Reality OpenXR プラグインを選択します。
選択した後、[ 機能の取得] をクリックします。
[ 検証] を選択して、選択したパッケージを検証します。 検証の問題が検出されなかったというダイアログが表示されます。 完了したら、[OK] をクリック します。
[ 機能のインポート ] ページの左側の列 [ 機能] に、選択したパッケージが表示されます。 右側の列 [ 必須の依存関係] には、依存関係が表示されます。 これらの項目の 詳細 リンクをクリックすると、それらの詳細を確認できます。
次に進む準備ができたら、[インポート] を選択 します。 [ レビューと承認] ページで、パッケージに関する情報を確認できます。
[ 承認] を選択します。
Unity エディターに戻り、UI の空白領域をクリックします。 パッケージがインポートされていることを示す進行状況バーが表示されます。
入力バックエンド設定を構成する
パッケージUnityインポートした後、エディターを再起動してバックエンドを有効にするかどうかを確認する警告が表示されます。 [はい] を選択します。
プロジェクト検証を使用してHoloLens 2のプロジェクトを構成する (MR OpenXR 1.6 以降)
デスクトップ VR 用に開発している場合は、このセクションをスキップして、「 デスクトップ VR 用にプロジェクトを構成する」に移動します。
- メニュー バーで、[Mixed Reality > プロジェクト検証設定] > HoloLens 2 [アプリケーション (UWP)] をクリックして、HoloLens 2の検証規則を有効にします。 バージョン 1.9 より前の MR OpenXR プラグインの場合、使用可能なメニュー項目は、Project > HoloLens 2の推奨プロジェクト設定を適用Mixed Reality >。
- ポップアップ表示されるプロジェクト検証ウィンドウで、[UWP プラットフォーム] タブ (Windows ロゴで示されます) になっていることを確認し、[ すべて修正 ] をクリックして検証の問題を解決します。 [ すべて修正] をクリックした後も問題が発生する可能性があることに注意してください。 その場合は、[ すべて修正 ] をもう一度クリックして、"シーン固有" とマークされている問題 (存在する場合) を無視し、残りの問題 (存在する場合) を確認して、推奨される変更があるかどうかを確認します。
- プロジェクトは、この時点でHoloLens 2デプロイの準備がほぼ整いました。 次の手順の [プレイヤー設定の構成] に進みます。
HoloLens 2のプロジェクトを手動で構成する
デスクトップ VR 用に開発している場合は、このセクションをスキップして、「 デスクトップ VR 用にプロジェクトを構成する」に移動します。
[プロジェクト設定] ウィンドウが開いていることを確認します。 表示されない場合は、メニュー バーの [編集]>[プロジェクト設定] を選択します。
[プロジェクトの設定] ウィンドウで、[XR プラグイン管理] ページと [ユニバーサル Windows プラットフォーム] タブにあることを確認します。
[スタートアップ時に XR を初期化する] が選択されていることを確認し、[プラグイン プロバイダー] で [OpenXR] をクリックします。
OpenXR プラグインが読み込まれた後、 OpenXR の下に複数の項目が表示されます。 [Microsoft HoloLens機能グループ] を選択します。
OpenXR の横に黄色の警告三角形があることに注意してください。 これは、解決する必要がある互換性のない設定があることを示します。 この問題に対処する方法については、VR の構成に関する次のセクションをスキップし、互換性 のない設定の解決に関する次のセクションに進んでください。
プロジェクト検証を使用してデスクトップ VR 用にプロジェクトを構成する (MR OpenXR 1.9 以降)
- メニュー バーで、[Mixed Reality > プロジェクト検証設定] > [Win32 アプリケーション (スタンドアロン)] をクリックして、デスクトップ XR アプリの検証規則を有効にします。
- ポップアップ表示されるプロジェクト検証ウィンドウで、[スタンドアロン プラットフォーム] タブにいることを確認し、[ すべて修正 ] をクリックして検証の問題を解決します。 [ すべて修正] をクリックした後も問題が発生する可能性があることに注意してください。 その場合は、[ すべて修正 ] をもう一度クリックして、"シーン固有" とマークされている問題 (存在する場合) を無視し、残りの問題 (存在する場合) を確認して、推奨される変更があるかどうかを確認します。
デスクトップ VR 用のプロジェクトを手動で構成する
[プロジェクト設定] ウィンドウが開いていることを確認します。 表示されない場合は、メニュー バーに移動し、[編集]、[プロジェクト>設定] の順に選択します。
[ プロジェクトの設定] ウィンドウ で、[XR プラグイン管理 ] ページと [PC] の [Mac & Linux スタンドアロン ] タブに表示されていることを確認します。
[スタートアップ時に XR を初期化する] が選択されていることを確認し、[プラグイン プロバイダー] で [OpenXR] をクリックします。
OpenXR プラグインが読み込まれた後、 OpenXR の下に 2 つの項目が表示されます。 最初のフィーチャ グループWindows Mixed Reality選択します。
OpenXR の横に黄色の警告三角形が表示されることに注意してください。 これは、解決する必要がある互換性のない設定があることを示します。 これに対処する方法については、次のセクション「 互換性のない設定の解決」に進んでください。
互換性のない設定の解決
重要
このセクションの画像には、[ユニバーサル Windows プラットフォーム] タブのオプションが表示されます。ただし、指示は、特に記載されている場合を除き、[デスクトップ VR] タブでも同じです。
OpenXR の横にある黄色の警告三角形の上にカーソルを置き、ポップアップでメッセージを読み、三角形を選択します。
[ OpenXR Project Validation]\(OpenXR プロジェクトの検証\) ウィンドウに、いくつかの問題が一覧表示されています。 [ すべて修正 ] ボタンを選択します。 注: この一覧は、使用しているタブによって異なる場合があります。
1 つの問題が残り、少なくとも 1 つの対話プロファイルを追加する必要があることを示します。 これを行うには、[ 編集] をクリックします。 これにより、[プロジェクト設定] ウィンドウの OpenXR プラグインの設定が 表示 されます。
[ 相互作用プロファイル] の下にあるプラス記号 (+) ボタンをメモします。
別のプロファイルを選択するたびに、ボタンを 3 回クリックします。
視線視線入力操作プロファイル
Microsoft Hand Interaction Profile
Microsoft Motion Controller プロファイル
目の 視線入力操作プロファイルまたはその他のプロファイルの横に黄色の三角形が表示されている場合は、その三角形を選択し、[ OpenXR Project Validation]\(OpenXR プロジェクト検証\) ウィンドウで [ 修正 ] ボタンをクリックします。 完了したら、[ OpenXR Project Validation]\(OpenXR プロジェクト検証\) ウィンドウを閉じます。
[ プロジェクト設定] ウィンドウの [OpenXR 機能グループ] で、次の項目が選択されていることを確認します。
[デスクトップ VR] タブに移動している場合:
Windows Mixed Reality
ハンド トラッキング
モーション コントローラー モデル
[ユニバーサル Windows プラットフォーム] タブの場合:
Microsoft HoloLens
ハンド トラッキング
モーション コントローラー モデル
[ 深度送信モード ] ドロップダウンをクリックし、[ 深度 16 ビット] を選択します。
ヒント
深度形式を 16 ビットに減らすことは省略可能ですが、プロジェクトのグラフィックス パフォーマンスが向上する可能性があります。 詳細については、「 深度バッファー共有 (HoloLens)」を参照してください。
注:
深度サブミッション モードのすぐ上にある [レンダリング モード] 設定は、既定で [Single Pass Instanced] に設定されます。 Mixed Reality アプリでは、シーンは目ごとに 1 回、2 回レンダリングされます。 その結果、"ステレオスコピック ビジョン" が得られます。これにより、必要なコンピューティング量が 2 倍になるため、CPU と GPU の両方の時間を節約するために、Unityで最も効率的なレンダリング パスを選択することが重要です。 ここでは、シングル パスインスタンスレンダリングが最適です。すべてのプロジェクトで既定で有効にすることをお勧めします。 この詳細については、Unityドキュメントを参照してください。
プレイヤー設定を構成する
[ プロジェクト設定] ウィンドウの左側の列で、[プレイヤー] を選択 します。
[プレイヤー] ウィンドウで、[製品名] ボックスが既に入力されていることに注意してください。 これはプロジェクト名から取得され、HoloLens の [スタート] メニューに表示される名前になります。
ヒント
開発中にアプリを見つけやすくするには、名前の前にアンダースコアを追加して、任意のリストの先頭に並べ替えます。
[ 発行設定] ドロップダウンを クリックし、[ パッケージ名 ] フィールドに適切な名前を入力します。
注:
パッケージ名は、アプリの一意の識別子です。 以前にインストールしたバージョンのアプリを同じ名前で上書きしないようにするには、アプリをデプロイする前にこの識別子を変更する必要があります。
[プロジェクト設定] ウィンドウを閉じます。
これで、Unityで OpenXR での開発を開始する準備ができました。
サンプル プロジェクトのUnity
Mixed Reality OpenXR プラグインを使用して、HoloLens 2またはMixed Reality ヘッドセット用のUnity アプリケーションをビルドする方法を示すサンプル Unity プロジェクトの OpenXR Mixed Reality サンプル リポジトリを確認してください。