前回、4月23日に参加した Unityシンガポール 主催の「Unity AR Foundation」の講座に関してレポートしました。(当日の講座の講師は Unityシンガポールの Evangelist である Marek Marchlewicz です。)
そこでは、講座の前半にあった、AR Foundation とはどのような物かと言うような基本を紹介しました。
【「Unity AR Foundation」講座の参加レポート 】

今回は、その講座の後半にありました AR Foundation の実習の内容を基に、Unity AR Foundation の設定方法 を画面イメージをまじえ説明しようと思います。
【Step 0:事前準備としてビルド環境の構築】
今回の環境は以下のようになります。Unityはこの講座実施日には Unity 2019.1 がリリースされていましたが、直前でリリースされたばかりだったので Unity2018.3 を使用しています。
そして、Android にビルドするか、iOS にビルドするかによって、前準備や前半の設定作業も変わってきます。ここでは、Android端末にビルドする例を行います。

前準備としては、Unityのインストール以外にも Android Build Support platform component と Android SDK tool のインストールも必要です。
また、Androidデバイス側の USB Debugging を有効にしておく必要もあります。

これらは、ARに関係なく既に Android端末に対してビルドしたことがあれば設定済みのものです。
(iOSに関しても同じような設定を事前に行っておきます。)
【Step1:必要なパッケージのインポート】

Unityを立ち上げて、新しいプロジェクトを作成します。
ターゲットプラットフォームを Androidに変更します。メニューから File > Build Settings... をクリックします。

Build Settingsスクリーンで、まず、Platformを変更します。Platformウィンドウでターゲットプラットフォームを今回は「Android」に変更して、「Switch Platform」ボタンをクリックします。

プラットフォームの変更は けっこう時間がかかります。

そこでは、講座の前半にあった、AR Foundation とはどのような物かと言うような基本を紹介しました。
【「Unity AR Foundation」講座の参加レポート 】

今回は、その講座の後半にありました AR Foundation の実習の内容を基に、Unity AR Foundation の設定方法 を画面イメージをまじえ説明しようと思います。
【設定作業全体の流れ】
今回の作業は以下のような流れで進めていきます。
Step 0:事前準備としてビルド環境の構築
Step 1:必要なパッケージのインポート
Step 2:AR Sessionのオブジェクト追加とPlayer Setting
Step 3:認識した特徴点の表示設定
Step 4:認識した平面の表示設定
Step 5:3Dオブジェクトを表示するC#スクリプトの作成
Step 6:モバイルデバイスでテスト実行
今回の作業は以下のような流れで進めていきます。
Step 0:事前準備としてビルド環境の構築
Step 1:必要なパッケージのインポート
Step 2:AR Sessionのオブジェクト追加とPlayer Setting
Step 3:認識した特徴点の表示設定
Step 4:認識した平面の表示設定
Step 5:3Dオブジェクトを表示するC#スクリプトの作成
Step 6:モバイルデバイスでテスト実行
【Step 0:事前準備としてビルド環境の構築】
今回の環境は以下のようになります。Unityはこの講座実施日には Unity 2019.1 がリリースされていましたが、直前でリリースされたばかりだったので Unity2018.3 を使用しています。
そして、Android にビルドするか、iOS にビルドするかによって、前準備や前半の設定作業も変わってきます。ここでは、Android端末にビルドする例を行います。

前準備としては、Unityのインストール以外にも Android Build Support platform component と Android SDK tool のインストールも必要です。
また、Androidデバイス側の USB Debugging を有効にしておく必要もあります。

これらは、ARに関係なく既に Android端末に対してビルドしたことがあれば設定済みのものです。
(iOSに関しても同じような設定を事前に行っておきます。)
【Step1:必要なパッケージのインポート】

Unityを立ち上げて、新しいプロジェクトを作成します。
ターゲットプラットフォームを Androidに変更します。メニューから File > Build Settings... をクリックします。

Build Settingsスクリーンで、まず、Platformを変更します。Platformウィンドウでターゲットプラットフォームを今回は「Android」に変更して、「Switch Platform」ボタンをクリックします。

プラットフォームの変更は けっこう時間がかかります。

次に Package Manager から AR Foundation に必要なパッケージをインポートします。
メニューから Windows > Package Manager をクリックして、Package Manager を立ち上げます。

以下のように Package Manager 上で Package がリストされます。が、「AR Foundation」が見当たりません。
(これは、この講座と執筆時のことなので、「AR Foundation」が見つかったら そのまま先に進んで下さい。)

実は、通常 Package Manager に Preview版の Package が表示されていません。そこで、Advanced > Show preview packages をクリックします。

ここで、「Previewは安定してないぞ!そして製品版のようなサポートは無いぞ!それでもやるか?」と聞いてきます。もちろんと言って「Yes」をクリックします。

すると、大量の Preview版の Package が表示されます。
今回は Android に対応させるため、「ARCore XR Plugin」と「AR Foundation」の Plugin をそれぞれ「Install」ボタンをクリックしてインストールします。
(iOSへビルドする場合は、「ARCore XR Plugin」の代わりに「ARKit XR Plugin」をインストールします。)


メニューから Windows > Package Manager をクリックして、Package Manager を立ち上げます。

以下のように Package Manager 上で Package がリストされます。が、「AR Foundation」が見当たりません。
(これは、この講座と執筆時のことなので、「AR Foundation」が見つかったら そのまま先に進んで下さい。)

実は、通常 Package Manager に Preview版の Package が表示されていません。そこで、Advanced > Show preview packages をクリックします。

ここで、「Previewは安定してないぞ!そして製品版のようなサポートは無いぞ!それでもやるか?」と聞いてきます。もちろんと言って「Yes」をクリックします。

すると、大量の Preview版の Package が表示されます。
今回は Android に対応させるため、「ARCore XR Plugin」と「AR Foundation」の Plugin をそれぞれ「Install」ボタンをクリックしてインストールします。
(iOSへビルドする場合は、「ARCore XR Plugin」の代わりに「ARKit XR Plugin」をインストールします。)


【Step 2:AR Sessionのオブジェクト追加とPlayer Setting】

ARを作る際は AR用カメラを用いるのが通常であるので、まず、初期設定されている Main Camera を削除します。
Hierarchyビューより、「Main Camera」オブジェクト上で右クリックして、Delete をクリックします。

次に、Hierarchyビューから Create > XR > AR Session Origin をクリックして、AR Session Origin オブジェクトを作成します。

また、Hierarchyビューから Create > XR > AR Session をクリックして、AR Session オブジェクトを作成します。

ここで、一度 Scene をセーブしておきます。(File > Save)


ARを作る際は AR用カメラを用いるのが通常であるので、まず、初期設定されている Main Camera を削除します。
Hierarchyビューより、「Main Camera」オブジェクト上で右クリックして、Delete をクリックします。

次に、Hierarchyビューから Create > XR > AR Session Origin をクリックして、AR Session Origin オブジェクトを作成します。

また、Hierarchyビューから Create > XR > AR Session をクリックして、AR Session オブジェクトを作成します。

ここで、一度 Scene をセーブしておきます。(File > Save)

次に、Player Setting を行います。メニューから File > Build Settings... をクリックします。

Build Settings画面から「Player Settings...」ボタンをクリックします。

Inspectorビューに表示された Player Setting画面の Other Settings エリアで以下の設定を行います。
・「Multithreaded Rendering」のチェックをはずす。
・「Package Name」を入力する。
(適当な名前で構いませんが、通常 「com.会社名.アプリ名 」となります。)
・「Minimum API Level」で「API level 24」を選択する。


Build Settings画面から「Player Settings...」ボタンをクリックします。

Inspectorビューに表示された Player Setting画面の Other Settings エリアで以下の設定を行います。
・「Multithreaded Rendering」のチェックをはずす。
・「Package Name」を入力する。
(適当な名前で構いませんが、通常 「com.会社名.アプリ名 」となります。)
・「Minimum API Level」で「API level 24」を選択する。

【Step 3:認識した特徴点の表示設定】

まず、Hierarchyビューから Create > XR > AR Default Point Cloud をクリックして、AR Default Point オブジェクトを作成します。これが特徴点を認識した際に表示するドットとなります。

Hierarchyビュー上の「AR Default Point Cloud」をProjectビューにドラッグ&ドロップして、Prefab化します。

Hierarchyビュー上の「AR Session Origin」をクリックして、Inspectorビュー上で Add Component ボタンをクリックします。そこから、「AR Point Cloud Manager」を検索して追加します。

先ほど Prefab化した Projectビュー上の「AR Default Point Cloud」を Inspectorビュー上の AR Point Cloud Manager コンポーネントの「Point Cloud Prefab」へドラッグ&ドロップします。

最後に、Prefab化したオブジェクトは、Hierarchyビュー上には必要はないので、右クリックして Delete をクリックします。


まず、Hierarchyビューから Create > XR > AR Default Point Cloud をクリックして、AR Default Point オブジェクトを作成します。これが特徴点を認識した際に表示するドットとなります。

Hierarchyビュー上の「AR Default Point Cloud」をProjectビューにドラッグ&ドロップして、Prefab化します。

Hierarchyビュー上の「AR Session Origin」をクリックして、Inspectorビュー上で Add Component ボタンをクリックします。そこから、「AR Point Cloud Manager」を検索して追加します。

先ほど Prefab化した Projectビュー上の「AR Default Point Cloud」を Inspectorビュー上の AR Point Cloud Manager コンポーネントの「Point Cloud Prefab」へドラッグ&ドロップします。

最後に、Prefab化したオブジェクトは、Hierarchyビュー上には必要はないので、右クリックして Delete をクリックします。

Step 3 はここまで。次のStep 4からは次回説明いたします。
Sponsored Link