tomatoaiu の Tech Blog

プログラミングやツールについてのまとめブログ

MOVERIO BT-30C で Unity ビルドの AR Core アプリを表示

MOVERIO BT-30C と Huawei P20
MOVERIO BT-30C と Huawei P20

やりたいこと

研究で Unity と ARCore を利用したアプリを MOVERIO BT-30C を利用して表示することになった。なのでそのための開発環境を構築をする。

環境

  • Windows 8.1

準備

  • MOVERIO BT-30C
  • Smart Phone (私の場合は Huawei P20 - Android 8.1)
  • Unity
  • ARCore
  • Android SDK

スマホにUnityでビルドしたAR Coreのサンプルアプリをinstall

Google ARCoreのサイトを見ながらもろもろをinstallする。

Android Studio の 設定

  • Android Studio を installする。
    • 私の場合は、3.5.2 for Windows 64-bit
  • Android Studio の設定
    • 起動画面の右下あたりから Configure > SDK Manager を選択
    • Appearance & Behavior> System Settings > Android SDK > SDK Platforms を選択。
    • 利用した Android の SDK を選択
      • 私の場合は Android 8.1, Android 8.0を選択。
    • Apply からの install まで待つ。
    • SDK Tools から以下を選択して Apply
      • Google USB Driver
      • Google Play services

Unityの設定

  • Unity hub を installする。
  • arcore-unity-sdk-1.13.unitypackage を Downloadする。リンク先のKnown issues したあたりにある arcore-unity-sdk-1.13.unitypackage のこと。
  • UnityHubから Unity 2018.x.xxxx あたりをインストール。
    • 私の場合は、2018.2.5f1
    • 2019.2.11f1 を インストールし、AR Coreのサンプルをビルドしようと思ったらできなかったので 2018の方を利用する (2019-11-05当時)
  • Project > Assets フォルダを右クリック > Import Package > Custom Package...を選択
  • Edit > Preferences > External Tools から Android JDK と Android SDK の パスを通す。
    • 私の場合は、JDKは Unityhubで 2019.2.11f1 を install した後に、インストールの2019.2.11f1の右上の「・・・」の縦になったアイコンを選択したときに出てくるモジュールを加える から Android Build Support の OpenJDK を選択し、DLとinstallしていたので特に設定することはなかった。 SDK は Browser ボタンを押して出たパスを設定する。
      • JDK: (recommended) に チェックが入っているのパスは不明
      • SDK: C:\Users\<user name hogehoge>\AppData\Local\Android\sdk
  • File > Build Settings からは Platform を Android を選択し Switch Platformを選択
  • Player Settingsから Player > Other Settings の Identification を以下のように設定。
    • Package Name を com.example.helloAR
    • 私の場合は、Minimum API Level を Android 8.1 Oreo ~~~
    • 私の場合は、Target API Level を Android 8.1 Oreo ~~~
  • Player Settingsから Player > XR Settings のARCore Supported にチェックを入れる。
  • File > Build Settings を開いておき、 Unityの画面から ダウンロードしていた Project > Assets > GoogleARCore > Examples > HelloAR > Scenes の HelloAR シーン を Build Settings の Scenes In Build に ドラッグアンドドロップ。

SmartPhone の設定

  • スマホを開発者モードにする。私の場合は、Huawei P20なのでこちらを参照する。
    • 設定を開く。
    • 端末情報 > ビルド番号 を 数回タップ。
    • システム > 開発者向けオプション を開く
      • 開発者向けオプションを on
      • USB デバッグを on

Unity で Build

  • PC と SmartPhone をUSB ケーブルで繋ぐ。
  • USB使用モードを ファイルを転送
  • USBデバッグを許可するにok
  • Unity上で File > Build Settings から Build And Run ボタンを選択。

SmartPhone を MOVERIO BT-30C に 接続して表示

  • SmartPhone を MOVERIO BT-30C に 接続する。
  • SmartPhone の 画面上部 から 画面下 に向かってスワイプして メニューを表示。
    • Android システムへ をタップして デスクトップモードから 端末モードに変更。
  • ビルドしたアプリの HelloAR U3D を選択

ARCore サンプルアプリ (HelloAR U3D)
ARCore サンプルアプリ (HelloAR U3D)

つまったところ

  • arcore-unity-sdk-1.13.unitypackage と 2019.2.11f1 は 試した日は相性が悪くアプリをビルドできなかった。今後に期待してる。
  • MOVERIO BT-30C をスマホにつなぐと Android が デスクトップモードになるため、AR Coreのアプリ起動後、タップが反応しない。デスクトップモードでも動作させるにはどうしたら良いのかは、要調査。とりあえず今回は デスクトップモードから端末モードに変更した。これになかなか気づかなかった。

参考文献

ARCoreとUnityではじめるARアプリ開発

ARCoreとUnityではじめるARアプリ開発

EPSON MOVERIO スマートグラス Androidスマホ直結モデル BT-30C

EPSON MOVERIO スマートグラス Androidスマホ直結モデル BT-30C

  • 発売日: 2019/05/30
  • メディア: Personal Computers