久しぶりにUnityを

2021/02/15

目的

今回Unityを触るのは、Unityを使ったARのアプリを作りたいという依頼があった為です アプリストアへのリリースも含めて一通り作業していく予定なので、学んだことをブログに残して行こうと思います

Unityのインストール

いつぶりか分からないけど、ずいぶん久しぶりにUnityのサイトへアクセス インストールの方法から変わってますね。変更になったのも数年まえらしいので、久しぶりすぎます

さっそくUnity HUBをインストールし、忘れてしまっているUnityのアカウントでログインしてからUnityをインストール しました

Unityをインストールするのは困る部分はないと思いますので、説明は省きます(詳しく書いてるサイトがあるのでそちらを参考にしてください)

まず最初に

もともとはUnityでARをするにはvuforiaを使おうと思っていたのですが、作成したアプリをリリースするとなると費用かかるし、どうやら今後はAR Foundationの方がスタンダードになりそうなので、AR Foundationを使用して作成していきます

正直、AR Foundationについては何も分からないのでおもちゃラボさんの【AR Foundation】セットアップから平面検出までというブログを参考に勉強させて頂きます

それが終わったら【AR Foundation】マーカーを使ったARを作るを参考にしてマーカーを使って3Dモデルを表示していきます

作ってみる

ひとまず、【AR Foundation】セットアップから平面検出までの通りにすすめて行きます

プロジェクトの作成

記事のままなので省略

AR Foundationのインストール

基本的に記事のままです 選択できるAR Foudationのバージョンが2.1.16と4.1.5の2種類がありましたが、4.1.5をインストールしました AR Core XR PluginもARKit XR Pluginも4.1.5と同じバージョンで揃えてインストールしました

実機での確認はAndroidで行う予定なので、ARKit XR Pluginは不要ですが、気が変わってiPhoneでも確認したくなった時の為に入れておきます

AR Sessionを作成する

記事のままなので省略

ビルドする

記事ではiOS用のビルドとなっているのですが、私はAndroidで確認したいのでAndroidでビルドします やることはほとんど同じです

以下を設定しました

  • Player
    • Multithreaded Renderingをオフ
    • Other Settings
      • Minimum API Levelを19以上に変更(今回はAPI Level 26に設定)
      • Graphics APIsのVulkanをremove(ARCoreでは対応していない為)
    • それ以外はDefaultのまま
  • XR Plug-in Management
    • ARCoreをオン
    • それ以外はDefaultのまま

実機を接続してBuild And Runを実行するがgradleのバージョンが古くてエラーが発生

そのため、Build for Android 11 with Unityをみながらgradleの設定を行う

  • Gradle6.8.2をダウンロードして適当なところに解凍する
  • UnityのEdit>Preferences>ExternalToolsにあるGradle Installed with UnityのチェックをOFFにして、ダウンロードしたGradleのフォルダを指定する
  • Player SettingsのPublishing Settingsの「Custom Main Gradle Template」と「Custom Launcher Gradle Templete」をONにする
    • そうするとProjectタブのAsetsにmainTemplate.gladleとlauncherTemplate.gladleが生成される
    • Build for Android 11 with Unityを見ながらそれぞれのファイルを編集する

これらの変更を行ってBuild And Runを実行すると、ようやく期待したとおり動作しました Androidで動かすのは結構大変ですね

今回は、ひとまずここまで。 次回は、マーカーを使ったARを試してみます