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