本日は MRTK の使い方枠です。
Mixed Reality Feature Toolを使ってHoloLens2アプリ向けのUnityプロジェクト作成を行う手順を記事にします。
前提条件
以下の記事を参考に必要なアプリケーションのインストールとダウンロードを行っていることが前提です。
bluebirdofoz.hatenablog.com
Unityプロジェクトの作成
Unity Hub を起動し、[新規作成]から Unity プロジェクトの作成を行います。
MRTK 2.7.2 では利用する Unity のバージョンは 2020.3.8 以降が推奨されます。
以下の通りに設定を行い、[作成]ボタンをクリックしてプロジェクトを作成します。
・テンプレート:[3D]
・プロジェクト名:任意のプロジェクト名
・保存先:任意のディレクトリ
これで新規プロジェクトが作成されました。
MRTKのインポート
Mixed Reality Feature Toolを使って作成した Unity プロジェクトに MRTK をインポートします。
インポート先の Unity プロジェクトの指定画面で、作成した Unity プロジェクトのフォルダを指定します。
[Discover Features]ボタンをクリックします。
パッケージの選択画面の[MixedRealityToolkit]欄から必要な MRTK パッケージを選択します。
Foundation パッケージが必須パッケージとなります。
OpenXR Pluginの選択(オプション)
XR プラグインに OpenXR Plugin を利用する場合、ここでインポートすることができます。
[Platform Suport]欄から[Mixed Reality OpenXR Plugin]を選択します。
選択した[Features]パッケージの依存パッケージが自動で検索され、[Required dependencies]欄に追加されます。
[Import]ボタンをクリックします。
更新後のマニフェストファイルが表示されます。
[Approve]ボタンをクリックしてインポートを実行します。
これで MRTK のインポートは完了です。
OpenXR Plugin をインポートした場合、Unity プロジェクト側でプロジェクトの再起動が要求されます。
プロジェクトの基本設定
次に HoloLens2 向けのプロジェクト設定を行います。
プラットフォームの変更
HoloLens2 では UWP(UniversalWindowsPlatform) のアプリケーションしか動作しないため、プラットフォームを UWP に変更します。
メニューから[File -> Build Settings]を選択し、[Build Settings]ダイアログを開きます。
[Platform]で[Universal Windows Platform]を選択し、[Switch Platform]を実行します。
XRプラグインの選択
MRTK をインポートすると、プロジェクトの基本的な設定を行う[MRTK Project Configurator]ダイアログが表示されます。
もしダイアログを閉じていた場合は、メニューから[Mixed Reality -> Toolkit -> Utilities - Configure Project for MRTK]で開くことができます。
初めに利用する XR プラグインを選択します。
Unity OpenXR plugin(推奨)
新しい業界標準(OpenXR)を採用し、将来的にAR/VRデバイスの広い範囲を簡単にサポートしたい場合はこちらを選択します。
選択後、plugin を有効化する必要があります。
次のダイアログの[Show XR Plug-in Management Settings]をクリックして[Project Settings]ダイアログを開きます。
[XR Plug-in Management]のタグを開き、[UWP]の設定パネルを開きます。
[OpenXR -> Microsoft HoloLens feature group]のチェックを行うことで plugin が有効化されます。
Built-in Unity plugins
HoloLens2 及び WindownsMixedRealityHeadset 向けに開発された組み込みのプラグインを利用する場合はこちらを選択します。
選択後、plugin を有効化する必要があります。
次のダイアログの[Show Settings]をクリックして[Project Settings]ダイアログを開きます。
[XR Plug-in Management]のタグを開き、[UWP]の設定パネルを開きます。
[Windows Mixed Reality]のチェックを行うことで plugin が有効化されます。
plugin の設定後、目的のビルドターゲットの XR プラグインを正しく指定しているかの確認ダイアログが表示されます。
先ほどの手順通りのチェックをしていれば[Next]で次に進んで問題ありません。
プロジェクトの基本設定
次にプロジェクトの基本設定ダイアログが表示されるので[Apply]をクリックします。
ここでは以下の設定が行われます。
・デフォルトの空間認識レイヤーを作成する
・シミュレーション用のインプットシステムを有効にする
・各種権限設定を行う
設定が完了すると、確認ダイアログが表示されるので[Next]をクリックします。
TextMeshProのインポート
次に TextMeshPro のインポートダイアログが表示されます。
MRTK ではUIテキストの表示に TextMeshPro を利用しているので、[Import TMP Essentials]をクリックしてインポートを行います。
これでプロジェクトの基本設定は完了です。
シーンの基本構成
次に HoloLens2 アプリ向けのシーンの基本構成を設定します。
例えば、以下のような HoloLens2 アプリ向けの設定を自動で実施します。
・メインカメラの位置を原点(起動時の頭位置)に設定する
・シーンの背景を黒(透過)に設定する
・その他様々な環境構成を決定するプロファイルを設定する
シーンの基本構成を変更する
メニューから[Mixed Reality -> Toolkit -> Add to Scene and Configure..]を選択します。
するとシーンの Hierarchy に以下のゲームオブジェクトが追加されます。
・MixedRealityToolkit
・MixedRealityPlayspace
・MixedRealitySceneContent
Mixed Reality Toolkit:フレームワーク全体の中央構成エントリポイントを提供するツールキットの本体。 MixedRealityPlayspace:ヘッドセットの親オブジェクト。ヘッドセット/コントローラーおよびその他の必要なシステムを管理します。メインカメラはプレイスペースの子オブジェクトとして移動します。 MixedRealitySceneContent:デバイスごとに適切にスケーリングするシーンコンテンツの配置場所。
プロファイルを変更する
次に利用シーンや plugin に合わせたシーン構成を設定するため、プロファイルを変更します。
MixedRealityToolkit オブジェクトを選択し、Inspector ビューを開きます。
プルダウンから MRTK が提供するいくつかのデフォルト設定のプロファイルを選択できます。
Unity OpenXR plugin利用時
XR プラグインに Unity OpenXR plugin を選択している場合は[DefaultOnenXRConfigurationProfile]を選択します。
Built-in Unity plugins利用時
XR プラグインに Built-in Unity plugins を選択している場合は[ObsoleteHololens2XRSDKConfigurationProfile]を選択します。
パッケージ名の変更(オプション)
メニューから[Edit -> Project Settings]を開き、[Player -> UWP -> Publishing Settings]の項目を開きます。
[Package name]の項目をデフォルトの[Template3D]から任意のパッケージ名に変更します。
パッケージ名の変更はアプリの作成において必須の作業ではありません。
しかし、同名のパッケージ名のアプリが存在するとインストール時にアプリを上書きするなどの問題が発生するので変更することを推奨します。
以上で HoloLens2 アプリ向けの Unity プロジェクトの基本設定は完了です。
[File -> Save]で変更を保存します。