MRが楽しい

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

MacOSのUnityでARKitを使ったiOSアプリをビルドする その3(Unityプロジェクトの作成とビルド)

本日は iOS アプリの調査枠です。
MacOSのUnityでARKitを使ったiOSアプリをビルドする手順を記事にします。

今回は Unity プロジェクトの作成とビルドです。
f:id:bluebirdofoz:20191201015133j:plain
前回記事の続きです。
bluebirdofoz.hatenablog.com

AR Foundation

今回は ARKit を利用するため、AR Foundation のパッケージを利用します。
AR Foundation は複数の AR デバイスのコア機能を統一したワークフローで利用するためのフレームワークです。
unity.com

AR Foundation は現在バージョン 2.2.0 まで公開されています。
ARKit3 の機能を利用する場合は最新の 2.2.0 を利用する必要があります。

パッケージの取得

最初に AR Foundation のパッケージと ARKit のプラグインを取得します。
Unity プロジェクトが開いたら、メニューから Window -> Package Manager を開きます。
f:id:bluebirdofoz:20191201015202j:plain

パッケージマネージャが起動したら[Advanced]のプルダウンを開き、[Show preview packages]をクリックします。
AR Foundation は preview 版のパッケージであるため、これをチェックしないとパッケージの一覧に表示されません。
f:id:bluebirdofoz:20191201015216j:plain

[Show preview packages]をクリックすると、確認ダイアログが表示されます。
[Yes]をクリックします。
f:id:bluebirdofoz:20191201015225j:plain

以下の2つのパッケージを選択して[Install]を行います。
・ARKit XR Plugin
f:id:bluebirdofoz:20191201015241j:plain

・AR Foundation
f:id:bluebirdofoz:20191201015251j:plain

今回、筆者環境では Unity 2018.4 を利用しました。
Unity 2018.4 では AR Foundation はバージョン 1.5.0 が最新となります。
更に筆者環境では 1.5.0 をインストールしたところエラーが発生したため、今回は両パッケージとも 1.0.0 のバージョンを利用しました。
f:id:bluebirdofoz:20191201015302j:plain

シーンの作成

デフォルトの Main Camera オブジェクトは不要なので、右クリックから[Delete]で削除します。
f:id:bluebirdofoz:20191201015312j:plain

メニューから GameObject -> XR -> AR Session Origin で[AR Session Origin]オブジェクトを追加します。
f:id:bluebirdofoz:20191201015321j:plain

更に GameObject -> XR -> AR Session で[AR Session]オブジェクトを追加します。
f:id:bluebirdofoz:20191201015331j:plain

ポジショントラッキングができていることを確認するため、シーンに Cube を配置します。
Hierarchy 上で右クリックから 3D Object -> Cube で[Cube]オブジェクトをシーンに追加します。
f:id:bluebirdofoz:20191201015339j:plain

以下の通り、[Cube]オブジェクトの[Transform]コンポーネントを設定し、起動時の前方に[Cube]が表示されるようにしました。

Position X:0, Y:0, Z:1.0
Rotation X:0, Y:0, Z:0
Scale    X:0.2, Y:0.2, Z:0.2,

f:id:bluebirdofoz:20191201015348j:plain

プラットフォームの切り替え

iOS にビルドプラットフォームを切り替えます。
メニューから File -> Build Settings.. を開きます。
f:id:bluebirdofoz:20191201015359j:plain

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

これでビルド対象にシーンが追加され、プラットフォームが iOS に切り替わりました。
f:id:bluebirdofoz:20191201015418j:plain

プロジェクトの設定

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

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

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

[Camera Usage Description]にカメラ利用の説明文を記述します。
f:id:bluebirdofoz:20191201015455j:plain

[Architecture]を[ARM64]に設定します。
f:id:bluebirdofoz:20191201015508j:plain

これでプロジェクトの設定は完了です。

ビルドの実行

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

プロジェクトを初めてビルドする場合 link.xml ファイルの作成確認ダイアログが表示されます。
[Yes, fix and build]をクリックすると Assets 直下に link.xml ファイルが作成され、ビルドが実行されます。
f:id:bluebirdofoz:20191201015528j:plain

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

次回は iPad へのインストールです。
bluebirdofoz.hatenablog.com