MRが楽しい

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

MRTK v2を使ってiOS向けアプリを作成する その2(MRTK v2.2.0版)

本日は MRTKv2 の技術調査枠です。
MRTK v2 のバージョン 2.2.0 を使って iOS アプリを作成する方法について基本的な手順をまとめます。
f:id:bluebirdofoz:20191214110430j:plain

今回はプロファイルの設定からビルドまでをまとめます。
前回記事の続きです。
bluebirdofoz.hatenablog.com

カメラプロファイルの編集

MobileAR のカメラ設定をプロファイルから行います。
Hierarchy から MixedRealityToolkit ゲームオブジェクトを選択し、Inspector ビューを開きます。
プロファイルを編集するため、[Mixed Reality Toolkit]コンポーネントの[Copy & Customize]をクリックします。
f:id:bluebirdofoz:20191214110439j:plain

[Clone Profile]ダイアログが開きます。
[Profile Name]に作成する編集用プロファイルの名前を設定します。
[Clone]をクリックすると、プロファイルが生成されます。
f:id:bluebirdofoz:20191214110449j:plain

これでプロファイルが編集可能になりました。
プロファイルの[Camera]タブを開きます。
次はカメラプロファイルを編集するため、カメラプロファイル内の[Clone]をクリックします。
f:id:bluebirdofoz:20191214110458j:plain

[Clone Profile]ダイアログが開きます。
[Profile Name]に作成する編集用カメラプロファイルの名前を設定します。
[Clone]をクリックすると、カメラプロファイルが生成されます。
f:id:bluebirdofoz:20191214110507j:plain

これでカメラプロファイルが編集できるようになります。

カメラ設定プロバイダーの変更

カメラプロファイルに MobileAR 用の設定プロバイダーを追加します。
[Camera Settings Providers]内の[Add Cameara Settings Provider]をクリックします。
f:id:bluebirdofoz:20191214110519j:plain

[New Camear Settings 1]という名前のプロバイダーが追加されます。
f:id:bluebirdofoz:20191214110529j:plain

[Type]のプルダウンを開き、[Microsoft.MixedReality.Toolkit.Experimental.UnityAR]->[UnityARCameraSettings]を選択します。
f:id:bluebirdofoz:20191214110541j:plain

これでは MobileAR 用のカメラ設定プロバイダーが追加できました。
f:id:bluebirdofoz:20191214110550j:plain

プラットフォームの選択

アプリのビルドプラットフォームを iOS に切り替えます。
メニューから File -> Build Settings.. を選択します。
f:id:bluebirdofoz:20191214110602j:plain

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

これでビルド対象にシーンが追加され、プラットフォームが iOS に切り替わりました。
プラットフォームが切り替わると、[MRTK Project Configurator]ダイアログが表示されます。
切り替え時に設定のチェックが外れていれば、改めて[Apply]をクリックして設定を反映します。
f:id:bluebirdofoz:20191214110627j:plain

プロジェクトの設定

ビルドを行う前に、幾つかのプロジェクト設定を行います。
メニューから Edit -> Project Settings.. を開きます。
f:id:bluebirdofoz:20191214110637j:plain

[Projcect Settings]ダイアログが開きます。
[Player]タブを開き、[iOS] -> [Other Settings]のパネルを開きます。
f:id:bluebirdofoz:20191214110648j:plain

[Identification]にある[Bundle Identifier]の設定をデフォルトの[com.Company.ProductName]から変更しておきます。
これがデフォルトの場合、Xcodeのビルドで[Failed to register bundle identifier.]のエラーが発生します。
f:id:bluebirdofoz:20191214110658j:plain

[Optimization]にある[Strip Engine Code]のチェックを外します。
f:id:bluebirdofoz:20191214110710j:plain

ビルドの実行

再び[Build Settings]ダイアログを開き、[Build]を実行します。
保存設定のダイアログが表示されるので、[Save As]に出力プロジェクト名を入力します。
[Where]に出力先ディレクトリを指定し、[Save]を実行します。
f:id:bluebirdofoz:20191214110724j:plain

これで Unity プロジェクトがビルドされました。
出力先のディレクトリに *.xcodeproj ファイルが出力されています。
f:id:bluebirdofoz:20191214110733j:plain

iPadへのインストール

出力した *.xcodeproj ファイルを使って iPad にアプリをインストールする手順は以下の記事を参照ください。
bluebirdofoz.hatenablog.com
bluebirdofoz.hatenablog.com

アプリの動作確認

iPad にインストールしたアプリを起動してみます。
f:id:bluebirdofoz:20191214110807j:plain

HandInteractionExamples のサンプルシーンが iPad 上で動作します。
f:id:bluebirdofoz:20191214110817j:plain

iPad 上でタップ操作を行うと、ボタンの押下やピアノを弾くことができます。
f:id:bluebirdofoz:20191214110827j:plain

タップしたまま、カーソルを動かすとドラッグ可能なオブジェクトを移動することもできます。
f:id:bluebirdofoz:20191214110835j:plain