Unityが進めている、AR開発を機種依存無しでできるようになるパッケージ「AR Foundation」を触ってみました。
AR Foundationは、本来別々にコーディングしなければならないARKitとARCore用のアプリを同一のコードでカバーすることができる仕組みです。Package Managerで提供されていて、現在はまだpreview版の位置づけになります。
使い方は椿さんのグレートなブログをなぞっていけば問題ないのですが、メモ代わりに補足を書いておきます。
前述のように、まだpreview版のPackageなので、Package Managerでそのまま検索しても出てきません。Advancedメニューで「preview」にチェックを入れて検索してください。
ARCore XR PluginとARKit XR Pluginも必要になります。
ネイティブのものはbitbukectなどからダウンロードしてインストールする必要がありましたが、Package Managerで全て完結するのでとても楽ですね。
AR Foundationを使わないで「ARKit Plugin」を使って開発していたときと同じように少し設定が必要です。
・Target minimum iOS Versionを11以上に
・Architectures を arm64 のみに
・Camera usage descriptionに何か文字を入れる
・minimun SDK Versionを24(Android 7)以上にする
・Other Settings > Graphics APIsのVulkanを無効にする
・Unity 2019.1以上で、Unityと一緒にインストールできるAndroid SDKを使用している場合は、XR SettingsのARCore Supportedにチェックを入れない
これでそれぞれのプラットフォーム向けにBuild Targetを切り替えてBuildするだけで、ARKit用アプリとARCore用アプリが作成できました。
下記はAndroidの画面ですが、iPadでも全く同じでした。壁を認識しています。
現状、AR Foundationは、ARKitとARCoreの主要な機能は使えるが、全てカバーされているわけではないので、必要な機能がサポートされていない場合には従来どおりにARKit/ARCore Pluginを直接使用する必要があります。フル機能は必要なく、マルチプラットフォームで展開する必要がある場合などはとても役に立ちそうですね。
今回はビルドしただけでしたが、次回はもう少しARらしい機能を使ってみる予定です。