これまでUnityからARKitを使いたい場合は、Unity ARKIt Pluginを使うのが一般的でした。ただ、Unity2019からはUnity ARKIt Pluginに変わってAR Foundationが公式でサポートされるようになりました。そのため、これからUnityでARを始めたい人は、AR Foundationを使うのが一般的になるでしょう。
そこで、この記事ではUnityでAR Foundationを使うための基本的なセットアップ方法を紹介します。また、初回の今回はAR Foundationを使って平面検出を行ってみます。
AR Foundationを使った平面検出の流れは次のとおりです。
プロジェクトの作成
UnityでAR関連のアプリを作りたい場合は、Templeteから3Dのプロジェクトを作成します。プロジェクト名や保存場所は任意のもので構いません。
AR Foundationのインストール
AR Foundationはパッケージという形で配布されています。したがって、UnityからAR Foundationを使うにはPackage Managerからインストールする必要があります。
メニューバーのWindow→Package Managerを選択して下さい。パッケージマネージャのPackages欄で「All」を選択した上で、検索欄にAR Foundationと入力します。すると、左カラムにAR Foundationのパッケージが表示されるので、インストールしたいバージョンを選択して、右下のインストールボタンをクリックして下さい。
これにより、AR FoundationとAR Subsystemsのパッケージがインストールされます。次に、ARKitを使いたい場合は追加でARKIt XR PluginとARKit Face Tracking(顔検出を使いたい場合のみ)、ARCoreを使いたい場合はAR Core XR Pluginのパッケージをインストールして下さい。このとき、ARKIt XR PluginとAR Foundationのバージョンは揃えておくことをおすすめします。
AR Sessionを作成する
AR Foundationではセッションという単位でARの挙動を定義します。そのセッションの動きを管理するのがAR SessionとAR Session Originのオブジェクトです。
これらのオブジェクトをシーンに追加しましょう。ヒエラルキーウインドウの「+」をクリックして「XR→AR Session Origin」と「XR→AR Session」を追加して下さい。
AR Sessinはその名の通りセッションを管理するためのもので、AR Session OriginはAR座標系の原点とカメラの挙動を管理するためのものです。AR Session Originの子要素にはAR用のカメラが追加されているため、最初からあるMain Cameraは不要です。削除しておきましょう。
平面検出を行う
基本的にはAR Session Originオブジェクトに、様々なARのコンポーネント追加していきます。今回は平面検出をしたいので、AR Session Originオブジェクトを選択して、インスペクタのAdd Componentボタンをクリックし、AR Plane Managerコンポーネントをアタッチします。
AR Plane ManagerのDetection Mode欄では、検出する面の方向(水平面・垂直面)を指定できます。選択できる項目の意味は次のようになります。
項目 | 意味 |
---|---|
Everything | 全ての平面を検出 |
Horizontal | 水平面のみ検出 |
Vertical | 垂直面のみ検出 |
また、Plane Prefabに平面のPrefabを設定することで、検出した平面を視覚化することができます。平面のPrefabを作って、検出した平面を視覚化してみましょう。
ヒエラルキーウインドウの「+」から「XR→AR Default Plane」を選択して下さい。
作成したAR Default Planeオブジェクトをプロジェクトウィンドウにドラッグ&ドロップしてPrefabを作成します。作成したPrefabをAR Plane ManagerのPlane Prefabの欄にドラッグしてくだい。ヒエラルキーウインドウにあるAR Default Planeは削除しておいて下さい。
ビルドする
最後にiOS用にビルドしてみましょう。iOSのビルドには次の設定が必要になります。
- Player Settings
- XR/ARKit Build Settings
- Plug-in Providers
Player Settingsの設定
メニューバーから「File → Build Setting 」を選択してBuild Settingsパネルを開き、ビルドターゲットをiOSに変更して下さい。次に「 Player Settings」ボタンをクリックして、Player項目のOhter Settingsの欄を次のように設定して下さい。
Bundle Identifire | 任意の文字列 |
Camera Usage Description | 任意の文字列 |
Target minimum iOS Version | 13.0 |
XR/ARKit Build Settingsの設定
また、Project Settingsのウインドウの左カラムからXR/ARKit Build Settingsを選択して、右カラムでCreateボタンをクリックします。
XR Plug-in Managementの設定
最後に左カラムのXR Plug-in Managementを選択して、右カラムのiOSタブを選択、iOSタブをクリックして、Plug-in ProvidersのARKitにチェックを入れてください。
実行してみる
Build Settingsのウインドウに戻ってBuild And Runのボタンを押して端末にインストールして下さい。アプリを起動してカメラを左右に動かすと平面が検出されて、検出された平面が黄色で表示されます。