MRが楽しい

MRやVRについて学習したことを書き残す

MRTK v2.4.0を使ってHoloLens2のHelloWorldアプリを作成する その1

本日は MRTK v2 の技術調査枠です。
本記事では MRTK の機能を使って Unity で HoloLens2 の HelloWorld アプリを作成するまでの手順を記事にします。
f:id:bluebirdofoz:20200603232049j:plain

その1はプロジェクトの作成と MRTK を使ったプロジェクトの基本設定です。

作成するアプリ

HoloLens2 で「ハローワールド」のテキストを表示します。
更に MRTK の機能を使ってテキストを手で掴んだり、回転させたりできるようにします。
f:id:bluebirdofoz:20200603232216j:plain

前提条件

以下の記事を参考に必要なアプリケーションのインストールと、MRTK v2.4.0 のパッケージの取得を行っていることが前提です。
bluebirdofoz.hatenablog.com

今回、筆者環境は Unity 2019.2 を利用します。
もし最新の Unity 2019.3 を利用したい場合は既知の問題が報告されているので注意が必要です。詳細は上記記事を参照下さい。

プロジェクトの新規作成

Unityプロジェクトの作成

Unity の新規プロジェクトを作成します。
Unity Hub の[新規作成]を起動し、新規プロジェクトの作成を行います。
利用する Unity のバージョンは 2018.4.x, 2019.1.x または 2019.2.x を選択します。
本記事では 2019.2.x を利用します。
f:id:bluebirdofoz:20200603232317j:plain

以下の通りに設定を行い、[作成]ボタンをクリックしてプロジェクトを作成します。
・テンプレート:[3D]
・プロジェクト名:任意のプロジェクト名
・保存先:任意のディレクト
f:id:bluebirdofoz:20200603232328j:plain

これで新規プロジェクトが作成されました。
f:id:bluebirdofoz:20200603232337j:plain

パッケージのインポート

プロジェクトに MRTKv2 をインポートします。
4つの unitypackage のうち、最初は Microsoft.MixedReality.Toolkit.Unity.Foundation.2.4.0.unitypackage をインポートします。
Unity プロジェクトを開いた状態であれば unitypackage をダブルクリックでインポートできます。
f:id:bluebirdofoz:20200603232350j:plain

Import Unity Package ダイアログが開きます。
[Import]ボタンをクリックして、パッケージをインポートします。
f:id:bluebirdofoz:20200603232400j:plain

Foundation パッケージはインポート完了時に、[MRTK Project Configurator]ダイアログが表示されます。
[Apply]を選択すると、以下の設定が行われます。
・現在のプラットフォームで VR Support を有効にする
レンダリングパスをシングルパスに設定する
・デフォルトの空間認識レイヤーを設定する
特に指定がなければ[Apply]で自動設定する事が推奨されます。
f:id:bluebirdofoz:20200603232412j:plain

これで Foundation パッケージがインストールされました。
f:id:bluebirdofoz:20200603232424j:plain

Foundation パッケージをインポートすると、メニューに[Mixed Reality Toolkit]が追加されます。
[MRTK Project Configurator]ダイアログは Mixed Reality Toolkit -> Utilities -> Configure Unity Project から手動で開くこともできます。
全ての設定にチェックが入っていれば設定が完了しています。
f:id:bluebirdofoz:20200603232435j:plain

他の3つのパッケージのインポートは任意です。必要な場合は同様にインポートを行います。
本記事の作業では他の3つのパッケージは利用しません。
f:id:bluebirdofoz:20200603232446j:plain

因みに各パッケージはそれぞれ以下の役割を持ちます。

Examples  :MRTK機能を使ったデモシーンを含むパッケージです。
Tools     :便利な開発者用ツールを含むパッケージです。
Extensions:オプションコンポーネントを含むパッケージです。

プラットフォームの選択

HoloLens2 で動作するアプリのプラットフォームは UWP(Universal Windows Platform) のみです。
アプリのビルドプラットフォームを UWP に切り替えます。
メニューから File -> Build Settings.. を選択します。
f:id:bluebirdofoz:20200603232458j:plain

Build Settings ダイアログが開きます。
[Add Open Scenes]をクリックして現在のシーンをビルド対象のシーンとして追加します。
[Platform]から[Universal Windows Platform]を選択して[Switch Platform]を実行します。
f:id:bluebirdofoz:20200603232510j:plain

これでビルド対象にシーンが追加され、プラットフォームが UWP(Universal Windows Platform) に切り替わりました。
プラットフォームが切り替わると、[MRTK Project Configurator]ダイアログが再び表示されます。
プラットフォームの切り替え後は VR Support のチェックが外れる他、追加の Capability の設定が要求されます。
改めて[Apply]をクリックして設定を反映します。
f:id:bluebirdofoz:20200603232522j:plain

処理が完了したら再び、メニューから Mixed Reality Toolkit -> Utilities -> Configure Unity Project を開きます。
[MRTK Project Configurator]ダイアログで全ての設定が完了していることを確認します。
f:id:bluebirdofoz:20200603232536j:plain

シーンとコンフィグレーションの設定

次に MRTK を利用するためのシーンとコンフィグレーションの設定を行います。
Foundation パッケージをインポート済みであれば[Mixed Reality Toolkit]メニューが追加されています。
そのメニューから Mixed Reality Toolkit -> Add to Scene and Configure.. を選択します。
f:id:bluebirdofoz:20200603232548j:plain

するとシーンの Hierarchy に以下のゲームオブジェクトが追加されます。
・MixedRealityToolkit
・MixedRealityPlayspace

Mixed Reality Toolkit:フレームワーク全体の中央構成エントリポイントを提供するツールキットの本体。
MixedRealityPlayspace:ヘッドセットの親オブジェクト。ヘッドセット/コントローラーおよびその他の必要なシステムを管理します。メインカメラはプレイスペースの子オブジェクトとして移動します。

f:id:bluebirdofoz:20200603232601j:plain

HoloLens2 に最適化されたシーン設定とするため、プロファイルを設定します。
MixedRealityToolkit オブジェクトを選択し、Inspector ビューを開きます。
f:id:bluebirdofoz:20200603232617j:plain

Mixed Reality Toolkit コンポーネントのプルダウンを開き、以下のプロファイルを選択します。
・DefaultHoloLens2ConfigurationProfile
f:id:bluebirdofoz:20200603232632j:plain

DefaultHoloLens2ConfigurationProfile は HoloLens2 向けに最適化されたプロファイルです。
負荷軽減のため、空間メッシュやハンドメッシュが無効化されています。
f:id:bluebirdofoz:20200603232652j:plain

プロジェクトの設定

最後にプロジェクトの設定を行います。
メニューから Edit -> Project Settings を選択します。
f:id:bluebirdofoz:20200603232708j:plain

[Project Settings]ウィンドウが表示されるので[Playter]タブを開き、[UWP]の[XR Settings]の項目を開きます。
[Virtual Reality SDKs]の項目に何も設定されていなければ、[+]ボタンを押下して[Windows Mixed Reality]を選択します。
f:id:bluebirdofoz:20200603232722j:plain

Virtual Reality SDKs のインポートが実行されます。
これで HoloLens2 の VR Support の設定が完了しました。
f:id:bluebirdofoz:20200603232736j:plain

パッケージ名の変更(オプション)

[UWP]の[Publishing Settings]の項目を開きます。
[Package name]の項目をデフォルトの[Template3D]から任意のパッケージ名に変更します。
f:id:bluebirdofoz:20200603232747j:plain

パッケージ名の変更はアプリの作成において必須の作業ではありません。
しかし、同名のパッケージ名のアプリが存在すると、インストール時にアプリを上書きするなどの問題が発生するので変更することを推奨します。
f:id:bluebirdofoz:20200603232801j:plain

これでプロジェクトの基本設定は完了です。
次はアプリのオブジェクトや機能を作成していきます。
bluebirdofoz.hatenablog.com