MRTK で新しい OpenXR プロジェクトを設定する
Unity プロジェクトを Mixed Reality 用に設定する最も簡単な方法は、Mixed Reality Toolkit (MRTK) を使用することです。 MRTK for Unity は、すばらしい Mixed Reality アプリケーションを簡単に作成できるように設計されたオープンソースのクロスプラットフォーム開発キットです。
MRTK には、空間でのインタラクションのための、クロスプラットフォームの入力システム、基本コンポーネント、共通の構成要素が備わっています。 これは、Microsoft HoloLens、Windows Mixed Realityイマーシブ (VR) ヘッドセット、およびその他の多くの VR/AR デバイスのアプリケーション開発を高速化するのに役立ちます。 プロジェクトでは、参入障壁を減らして、すべての人が Mixed Reality アプリケーションを作成できるようにし、私たち全員の成長とともにコミュニティに貢献することを目的としています。
MRTK では、次のような幅広いプラットフォームがサポートされています。
Microsoft HoloLens
Microsoft HoloLens 2
Windows Mixed Reality ヘッドセット
OpenVR ヘッドセット (HTC Vive または Oculus Rift)
Ultraleap ハンド トラッキング
Android および iOS のデバイス
注意
最近、Unity の XR 管理システムと XR Interaction Toolkit 上に構築された Microsoft Unity 用 Mixed Reality Toolkit の第 3 世代である MRTK3 が導入され、さまざまな OpenXR 準拠デバイスと新しいデザイン言語のサポートが向上しました。 詳細については、MSIX3 のドキュメントを参照してください。
注意
MRTK を使用せずに新しい OpenXR プロジェクトを設定することもできます。
考慮する必要のあるその他の OpenXR 以外の構成オプション
Windows XR: Microsoft では、Unity 2020 の新しいプロジェクトに Windows XR プラグインを使用することはお勧めしません。 代わりに、Mixed Reality OpenXR プラグインを使用する必要があります。 ただし、Unity 2019 を使用していて、ARCore/Arcore デバイスとの互換性のために AR Foundation 2.0 が必要な場合は、このプラグインによってそのサポートが有効になります。
重要
Unity 2019 でこのプラグインを使用する場合、Azure Spatial Anchors と互換性がありません。
レガシ XR:
Unity 2019 以前を引き続き使用する場合は、レガシ組み込み XR サポートを使用することをお勧めします。 Windows XR プラグインは Unity 2019 で機能していますが、Unity 2019 の Azure Spatial Anchors と互換性がないため、お勧めしません。
新しいプロジェクトを開始する場合は、代わりに 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 Reverb G2 などのイマーシブ ヘッドセットを含むすべてのデバイスを対象としています。 これは、HoloLens 2用に構築する場合に最適な選択肢です。ただし、デスクトップ VR をターゲットとする場合は、PC、Mac & Linux スタンドアロン プラットフォームを使用することをお勧めします。
次のいずれかの操作を行います。
デスクトップ VR を対象とする場合:
- 新しい Unity プロジェクトで既定で選択されている PC、Mac & Linux スタンドアロン プラットフォームを保持します。
HoloLens 2を対象とする場合:
- [プラットフォーム] で、[ユニバーサル Windows プラットフォーム] を選択します。 次の設定がアクティブになっていることを確認します。
ビルドの種類: D3D Project
ターゲット 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 Toolkit パッケージと OpenXR パッケージをインポートする
Mixed Reality Feature Tool で、[開始] を選択します。
[参照] ボタン (下の図の "3 ドット" ボタン) を選択し、プロジェクトに移動して開きます。
注意
ツールの [プロジェクト パス ] ボックスには値が含まれている必要があるため、既定では円記号 ("_") が挿入されます。
フォルダーを選択すると、このツールにより、有効な Unity プロジェクト フォルダーであることが確認されます。
[機能の検出] を選択します。
注: ツールによってフィードからパッケージが更新されるまで、数秒待つ必要がある場合があります。
[機能の検出] ページには、6 つのパッケージ グループの一覧が表示されます。
[Mixed Reality Toolkit (0/10)] の左側にある [+] ボタンをクリックしてから、Mixed Reality Toolkit Foundation の新バージョンを選択します。
注意
Mixed Reality Toolkit Foundation パッケージは、プロジェクトで MRTK を使用するためにインポートして構成する必要がある、唯一のパッケージです。 このパッケージには、複合現実アプリケーションを作成するために必要なコア コンポーネントが含まれています。
[プラットフォームのサポート (0/5)] の左側にある [+] ボタンをクリックしてから、Mixed Reality OpenXR プラグインの最新バージョンを選択します。
選択したら、[機能の取得] をクリックします。
[検証] を選択して、選択したパッケージを検証します。 [検証の問題は検出されませんでした] というダイアログが表示されます。 表示されたら、[OK] をクリックします。
[機能のインポート] ページの左側にある [機能] の列に、選択したパッケージが表示されます。 右側の [必須の依存関係] 列に、依存関係が表示されます。 これらの項目の [詳細] リンクをクリックすると、詳細を確認できます。
次に進む準備ができたら、[インポート] を選択します。[確認と承認] ページで、パッケージに関する情報を確認できます。
[承認] を選択します。
Unity エディターに戻り、UI の空白領域をクリックします。 パッケージがインポートされているというメッセージを示す進行状況バーが表示されます。
入力バックエンド設定の構成
Unity がパッケージをインポートすると、エディターを再起動してバックエンドを有効にするかどうかを確認する警告が表示されます。 [はい] を選択します。
プロジェクト検証 (MR OpenXR 1.6 以降) を使用してHoloLens 2のプロジェクトを構成する
デスクトップ VR 用に開発している場合は、このセクションをスキップして、「 デスクトップ VR 用にプロジェクトを構成する」に進んでください。
- メニュー バーで、[Mixed Reality プロジェクト検証設定>] > HoloLens 2 [アプリケーション (UWP)] をクリックして、HoloLens 2の検証規則を有効にします。 バージョン 1.9 より前の MR OpenXR プラグインの場合、使用可能なメニュー項目は、HoloLens 2>の Project > Apply 推奨プロジェクト設定Mixed Reality。
- ポップアップ表示されるプロジェクト検証ウィンドウで、[UWP プラットフォーム] タブ (Windows ロゴで示されます) が表示されていることを確認し、[ すべて修正 ] をクリックして検証の問題を解決します。 [ すべて修正] をクリックした後に問題が残る可能性があることに注意してください。 その場合は、[ すべて修正 ] をもう一度クリックして、"シーン固有" とマークされている問題 (存在する場合) を無視し、残りの問題 (存在する場合) を確認して、推奨される変更があるかどうかを確認します。
- プロジェクトは、この時点でデプロイHoloLens 2準備がほぼ完了しています。 次の手順の [Configure Player settings]\(プレーヤー設定の構成 \) に進みます。
HoloLens 2のプロジェクトを手動で構成する
デスクトップ VR 用に開発している場合は、このセクションをスキップして、「 デスクトップ VR 用にプロジェクトを構成する」に進んでください。
[プロジェクト設定] ウィンドウが開いていることを確認します。 そうでない場合は、メニュー バーで [プロジェクト設定の編集>] を選択します。
[プロジェクトの設定] ウィンドウで、[XR プラグイン管理] ページと [ユニバーサル Windows プラットフォーム] タブにあることを確認します。
[起動時に XR を初期化する] が選択されていることを確認し、[プラグイン プロバイダー] で [OpenXR] をクリックします。
OpenXR プラグインが読み込まれた後、 OpenXR の下に複数の項目が表示されます。 [Microsoft HoloLens機能グループ] を選択します。
OpenXR の横に黄色の警告三角形があることに注意してください。 これは、解決する必要がある互換性のない設定があることを示します。 この問題に対処する方法については、VR の構成に関する次のセクションをスキップし、 互換性のない設定の解決に関する次のセクションに進んでください。
Project Validation (MR OpenXR 1.9 以降) を使用してデスクトップ VR 用にプロジェクトを構成する
- メニュー バーで、[プロジェクト検証設定>] [Win32 アプリケーション (スタンドアロン)] Mixed Reality>クリックして、デスクトップ XR アプリの検証規則を有効にします。
- ポップアップ表示されるプロジェクト検証ウィンドウで、[スタンドアロン プラットフォーム] タブが表示されていることを確認し、[ すべて修正 ] をクリックして検証の問題を解決します。 [ すべて修正] をクリックした後に問題が残る可能性があることに注意してください。 その場合は、[ すべて修正 ] をもう一度クリックして、"シーン固有" とマークされている問題 (存在する場合) を無視し、残りの問題 (存在する場合) を確認して、推奨される変更があるかどうかを確認します。
デスクトップ VR 用のプロジェクトを手動で構成する
[プロジェクト設定] ウィンドウが開いていることを確認します。 そうでない場合は、メニュー バーに移動し、[プロジェクト設定の編集>] を選択します。
[ プロジェクトの設定] ウィンドウ で、[XR プラグイン管理 ] ページと [PC] の [Mac & Linux スタンドアロン ] タブにあることを確認します。
[起動時に XR を初期化する] が選択されていることを確認し、[プラグイン プロバイダー] で [OpenXR] をクリックします。
OpenXR プラグインが読み込まれ、[OpenXR] の下に 2 つの項目が表示されます。 最初の機能グループ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) に関するページを参照してください。
注意
[深度送信モード] の真上にある [表示モード] 設定は、既定で [単一パス インスタンス化] に設定されています。 複合現実のアプリでは、シーンが 2 回レンダリングされます (それぞれの目に対して 1 回ずつ)。 結果は "ステレオスコピック ビジョン" になります。これにより、必要なコンピューティングの量が 2 倍になるため、CPU 時間と GPU 時間の両方を節約できるように、Unity で最も効率的なレンダリング パスを選択することが重要です。 ここでは、シングル パス インスタンス化レンダリングが最適な選択肢です。すべてのプロジェクトに対して既定で有効にすることをお勧めします。 これに関する詳細については、Unity のドキュメントを参照してください。
プレーヤーの設定を構成する
[プロジェクト設定] ウィンドウの左側の列で、[プレーヤー] を選択します。
[プレーヤー] ウィンドウでは、[製品名] ボックスが既に入力されていることに注意してください。 これはプロジェクト名から取得され、HoloLens の [スタート] メニューに表示される名前になります。
ヒント
開発中にアプリを見つけやすくするには、名前の前にアンダースコアを追加すれば、リストの先頭に表示されます。
[ 発行設定] ドロップダウンを クリックし、[ パッケージ名 ] フィールドに適切な名前を入力します。
注意
パッケージ名は、アプリの一意の識別子です。 以前にインストールしたバージョンのアプリが同じ名前で上書きされないようにするには、アプリを展開する前にこの識別子を変更する必要があります。
[Project Settings](プロジェクト設定) ウィンドウを閉じます。
Unity で OpenXR を使用して開発を始める準備ができました。
Unity サンプル プロジェクト
OpenXR Mixed Reality サンプル リポジトリでサンプル Unity プロジェクトを確認してください。このプロジェクトでは、Mixed Reality OpenXR プラグインを使用して HoloLens 2 または Mixed Reality ヘッドセット用の Unity アプリケーションを作成する方法が示されています。