YKpages

ロボット関連で勉強したことのまとめ

ARCoreの始め方(Unity編)

はじめに

GoogleはARCoreを開発していくということなのでちょっと使ってみる

(Tangoは開発終了らしい)

目的

ARCoreのサンプルを動かす

環境

  • Windows10
  • Unity2017.4.1f1
  • ARCore 1.1.0
  • 端末 : ZenFone AR

公式のクイックスタート

とりあえずここを参考にする

Quickstart for Unity  |  ARCore  |  Google Developers

Unityをインストール

Unityをインストールしていない場合はインストール

Unity 2017.3.0f2以上が必要らしい

unity3d.com

ARCore SDK for Unityをダウンロード

ARCore SDK for Unityを公式サイトからダウンロード

Quickstart for Unity  |  ARCore  |  Google Developers

Android SDKをインストール

Android SDK version 7.0 (API Level 24)以上が必要らしい

Android SDKは「Android Studio」をインストールすると、一緒に入っている

Android StudioSDK ManagerでSDKのアップデートなどができる

またSDK Managerを開くとSDKの保存場所が分かる(後でパスを通すときに必要)

developer.android.com

Unityを起動

まずインストールしたUnityを起動

「New」ボタンを押すと、新規プロジェクトを作成できる

適当な名前を決めて、プロジェクトを作成

ARCore SDKをインポート

Unityエディタの上部タブから選択していく

Assets > Import Package > Custum Package ...

さっきダウンロードしたARCore SDKを選択するとインポートされる

Android SDKのパスを通す

(もしかすると自動でパスが通っているかも)

Unityエディタの上部タブ

Edit > Prefrences... > External Tools

の下の方にSDKのパスを記述

注意 : Android Studioから手に入るAndroid SDKはそのままではエラーを起こす可能性がある(後述->ビルド時のエラー)

JDKのインストール

JDK(Java Development Kit)が必要なので、インストールしていない人はする

最新のバージョンでも大丈夫だと思う

(ちなみに私のバージョンはjdk1.8.0_151)

Java SE Development Kit 8 - Downloads

そしてパスをちゃんと通す

パスを記述するところはAndroid SDKと一緒

サンプルのシーンを開く

ARCore SDKが正常にインポートされていると、UnityエディタのProjectビューに「GoogleARCore」があるはず

GoogleARCore > Examples > HelloAR > Scenes > HelloAR

を選択(ダブルクリックとかする)

シーンが開くはず

ビルドセッティング

上部タブから File > Build Setting を選択

  1. 真ん中右あたりにある「Add Open Scenes」ボタンを押す
  2. 左下のPlatform選択でAndroidを選択して、「Switch Platform」ボタンを押す
  3. 「Player Setting」ボタンを押す。Unityエディタの右にあるInspectorビューをみる
  4. 一番上のCompany NameとProduct Name(アプリ名)を適当に決める(7.で使用)
  5. Other Settingを開く
  6. Multithreaded Renderingのチェックを外す
  7. Package Nameを「com.CompanyName.ProductName」のように書く(4.で決めた通り)
  8. Minimum API LevelとTarget API LevelをAndroid 7.0以上にする
  9. XR SettingでARCoreを選択

・端末側で開発者オプションからUSBデバッグを有効にする

・「Build and ran」ボタンを押すと、apkファイルの名前を聞かれるので、適当に名前を付ける

apkファイルの保存場所は、プロジェクトフォルダ直下(Assetsフォルダなどがある層)

ビルド時のエラー(重要)

大半のエラーはAndroid SDKが合ってないか、JDKがあっていないかだと思う

調べたところによると新しいAndroid Studioで手に入るAndroid SDKがUnityと上手く合わないらしい

解決策として、Android SDKの中にあるtoolsだけを古いものと置き換えるとうまくいく

参考(この記事の最後の方にエラーについて書いてくれている)

[Unity] アプリをビルドしてandroid実機上でテストする

アプリが正常に動かない(重要)

ビルドが通ってアプリは起動したが何も起こらない場合は、端末を再起動すると直るかもしれない

私は端末を再起動したら動きました

スクリーンショット

正常に動作したときのスクショ

検出された平面をタッチすると緑のキャラが生成される

f:id:kato_robotics:20180418214722j:plain

おわりに

ARCoreが無事動いてよかった

もしエラーが出て動かない人は頑張ってください

質問してもらえれば何か答えます