MRが楽しい

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

MRTK v2のドキュメントを少しずつ読み解くiOSおよびAndroid用にMRTKを設定する方法[Experimental]

本日は MRTKv2 の調査枠です。
MRTKv2 の Guides ドキュメントを少しずつ読み進めていきます。

MRTKv2のGuidesドキュメント

以下のドキュメントを読み進めていきます。
microsoft.github.io

以下のページでは有志による本ドキュメントの日本語翻訳が行われています。
投稿時点でこちらで未翻訳、または著者が興味のある部分について記事にしていきます。
hololabinc.github.io

本記事では以下のページを読み進めます。
microsoft.github.io
f:id:bluebirdofoz:20200210205748j:plain

iOSおよびAndroid用にMRTKを設定する方法[Experimental]

必要なパッケージをインストールする

GitHubまたはNuGetから Microsoft.MixedReality.Toolkit.Providers.UnityAR パッケージをダウンロードしてインポートします。
UnityAR パッケージをインポートすると、次のエラーが表示されます。

Assembly has reference to non-existent assembly 'Unity.XR.ARFoundation'

解決するには正しいバージョンのARFoundationをインストールしてください。
f:id:bluebirdofoz:20200210205800j:plain

Unity Package Manager(UPM)で、次のパッケージをインストールします。

Unity 2018.4.x の場合

androidiOSコメント
AR Foundation
Version: 1.5.0 - preview 6
AR Foundation
Version: 1.5.0 - preview 6
パッケージを表示するには Advanced -> Show Preview Packages を有効化します
ARCore XR Plugin
Version: 2.1.2
ARKit XR Plugin
Version: 2.1.2

Unity 2019.x の場合

androidiOS
AR Foundation
Version: 2.1.4
AR Foundation
Version: 2.1.4
ARCore XR Plugin
Version: 2.1.2
ARKit XR Plugin
Version: 2.1.2

f:id:bluebirdofoz:20200210205813j:plain

Unity 2019.x を使用している場合、Unity AR プロバイダーのアセンブリ定義ファイルを変更し、UnityEngine.SpatialTracking の参照を追加する必要があります。
MRTKはプロジェクトがロードされたUnityのバージョンに基づいて、アセンブリ定義を自動的に更新します。
f:id:bluebirdofoz:20200210205825j:plain

Unity ARカメラ設定プロバイダーを有効にする

次の手順は MixedRealityToolkit オブジェクトの使用を前提としています。
他のサービスレジストラに必要な手順は異なる場合があります。

1.シーン階層で MixedRealityToolkit オブジェクトを選択します。
f:id:bluebirdofoz:20200210205834j:plain

2.カスタム構成を有効にするには[Copy & Customize]をクリックしてMRTKプロファイルを複製します。
f:id:bluebirdofoz:20200210205842j:plain

3.Camera Profile の横にある[Clone]をクリックします。
f:id:bluebirdofoz:20200210205853j:plain

4.[Camera Settings Providers]セクションを展開します。
f:id:bluebirdofoz:20200210205901j:plain

5.[Add Camera Settings Provider]をクリックし、新しく追加された[New Camera Settings 0]を展開します。
f:id:bluebirdofoz:20200210205911j:plain

6.[Type]のプルダウンを開き、Unity AR Camera Settings プロバイダーを選択します。
f:id:bluebirdofoz:20200210205920j:plain

AndroidおよびiOSバイス用のシーンの構築

Unity AR Camera Settings プロバイダーがシーンに追加されたことを確認してください。
メニューの File -> Build Settings からプラットフォームを Android または iOS に切り替えます

プラットフォームを切り替えると、選択したプラットフォームの設定を含む MRTK Project Configurator ウィンドウが表示されます。
[Apply]をクリックして、プラットフォーム固有の設定を有効にします。

以下は iOS の場合の表示例です。
f:id:bluebirdofoz:20200210205929j:plain

プラットフォームが iOS の場合、メニューから Edit -> Project Settings > Player -> Other Settings を開き、Optimization の[Strip Engine Code]のチェックを外します
プラットフォームをAndroidに切り替えた後、追加の手順はありません。
f:id:bluebirdofoz:20200210205940j:plain
[Strip Engine Code]のチェックを外すことは Xcode #6646 のエラーに対する短期的な解決策です。
MRTK 2.3.0 では長期的な解決策に取り組んでいます。

最後にシーンをビルドして実行します。