ARCoreをUnity で開発（２.Unity 2019でサンプルを動かす）

# 環境を新しいバージョンにアップデートしたら・・・

ARCore SDKも新しいバージョン 1.8がリリースされていたので、
Unityのバージョンアップも兼ねて、久々に環境を新しくしてみたら見事にはまったので、まとめてみました。

|カテゴリ| 内容 | 
|:--:   |:--|
|Dev OS | Windows 10 |
|ARCore | 1.8.0 |
|Unity  | 2019.1.0f2 |
|Device | Glaxy S8（Android 9.0.0）|



# Unity 2019のインストール

### 主な変更点（Unity 2017との違い）
- Andorid SDK、NDKの導入がUnity Hubからダウンロードできるようになった。  
    以前は、Android Studio環境を導入して、SDK、NDKのパスを指定していたのでとてもラクチンになりました

## 手順
1. Unity Hubの「Installs」タブを選択し、「Unity 2019.1.0f2」のDownloadボタンをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120824/cff0db72-eedd-d3ef-c2f7-c626bf378d0d.png)

2. 「Android Build Support」と 「Android SDK & NDK Tools」にチェックをつける
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120824/70afdc72-4674-b4b7-12f9-9ac7b3a7bcb2.png)

3. 日本語で表示したい時は、Language packsで「日本語」もチェック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120824/07df276d-bb73-af2b-feee-bd6cae859c5a.png)



3. Nextをクリックして、インストールを実行



# ARCore SDK 1.8 のサンプルを導入してみよう

### 主な変更点（ARCore SDK 1.8からの違い）
- パッケージマネージャーから「Multiplayer HLAPI」、「XR Legacy Input Helpers」を導入する手順が増えた
    CloudAnchors、Instant Previewで必要とのことですが、CloudAnchorsを使わない場合でも必要なので導入します。
- Project Settingsの「Graphics APIs」から「Vulkan」を削除する。（これをしないと、実機ではアプリが動きませんでした）

## 手順
1. ツールバー「ウィンドウ」から、「Package Manager」を開く

2. 「Multiplayer HLAPI」を選んで、Install
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120824/7abb729a-742c-c5ff-75b0-638ab7b38901.png)

3. 次に「XR Legacy Input Helpers」を選んで、Install
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120824/a9f6f8fd-c949-46b2-158e-b7a4661457c3.png)

4. ツールバー「アセット」を選んで、「パッケージをインポート」から「カスタムパッケージ」を選び、”arcore-unity-sdk-v1.8.0.unitypackage”をインポート
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120824/06ec3886-63f3-440b-af78-6eec4544a508.png)

5. ARCoreのHelloARサンプルのSceneをダブルクリックし、ヒエラルキーに導入
  Assets/GoogleARCore/Examples/HelloAR/Scenes/HelloAR
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120824/b54e4258-7470-d810-aca4-3f561e427685.png)

6. 「シーンを追加」を押し「HelloAR」が選択されていることを確認する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120824/0a5f9934-8ed6-155c-a7b0-128e524e5b73.png)

7. ツールバーの「ファイル」から「ビルド設定」を開き、プラットフォームで「Android」を選択し「Switch Platform」を押す。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120824/6d85457e-2b32-3faf-5868-4160cc703793.png)

8. 「プレイヤー設定」をクリックし、上部にある「企業名」や「プロダクト名」を変更する  
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120824/dc5fc939-b689-f598-d3d9-8da50ea1fc24.png)

9. 「その他の設定」設定
  - 「パッケージ名」を変更
  - 「最低APIレベル」と「ターゲットAPIレベル」を「Android 9.0 (API Level 28)」を選択する  
       **※本当は 「Android 7 (API Level 28)」 を選びたいが、UnityHubからSDKをインストールした場合の追加方法が分からないので9.0を選択しました。（現在、対応方法を検索中・・・）**    
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120824/3acb4329-bdf6-f21a-d24c-66fd5b99a0f7.png)

10. 「XR セッティング」設定  
  - 「ARCore サポート」をEnableにする  
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120824/1f1eafa7-87c7-fe29-e197-3ddf242eb74e.png)  
  **※ ここで表示される警告の対応をしないと、実機起動させた場合に画面が真っ白で動作しませんした**

11. 上記警告の対応の為に、「その他の設定」に戻り、「Graphics APIs」から「Vulkan」を削除
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120824/2dba4668-627a-6d3b-e358-963673d54f0a.png)

12. これでビルドして実行を行えば、いつものドロイドのサンプルが動きます

# ARCore 1.8 + Unity 2019 環境作成のまとめ
「ARCore サポート」の警告を見落としていて、いろいろ試行錯誤して時間を使ってしまいました。
これでやっと新しい環境で、ARCoreアプリの開発が続けられます！