今回は先日 4月23日に参加しました、Unityシンガポール 主催のUnity AR Foundationの講座に関してレポートします。
講師は Unityシンガポールの Evangelist である Marek Marchlewicz です。( Vuforiaの講座の際も彼が講師でした。「Unity Augumented Reality (AR) with Vuforia」の参加レポート

Unity AR Foundation とは Android と iOS どちらにも対応している Unity の ARフレームワークです。両方の端末へのリリースが楽になりそうなので、前からかなり気になっていました。
いちおう、まだこれを書いてる段階では Previewバージョンとなります。
AR Foundation_01

この講座では、ARのフレームワークとして ARCore、ARKit の紹介があり、AR Foundation とはどのような物かの説明、そして最後に実際に AR Foundation で ARを作成する実習がありました。
このブログでは、今回まず AR Foundation の説明パートをレポートします。そして、実習パートは「Unity AR Foundationの設定方法」として次回、HowTo形式で紹介していきます。
AR Foundation_02


【AR KitとARCoreについて】

ARKitARCore に関しての紹介がありました。これに関しては彼もさらっと紹介しただけなので、ここでもさらっと紹介します。

まず、ARKit はご存知のように、iOS向けの ARフレームワークですね。現在、リリースされているのは ARKit2 です。
AR Foundation_03

ARKit の特徴として、以下の物をあげていました。

 ・複数人での AR体験、永続的な AR体験を実現するWorld Maps
 ・平面でなく、現実の物体を認識できるObject Detection
 ・環境の Lighting情報を取得し、リアルの物体をARに映り込ませたりできるEnvironment Probes
AR Foundation_04


次に、ARCore について。私も前から使っていますが、Android用の ARフレームワークで、現在バージョンは1.8となっています。
AR Foundation_05

ARCoreの大きな特徴として、以下のをあげていました。

 ・私も自分のARゲーム「Gotcha AR」で使いました、複数人でAR体験を共有するCloud Anchors
 ・水平、垂直の平面上だけでなく、いろいろな方向を向いた面の検出をするOriented Feature Points
 ・深度センサなしのカメラベースで立体的に顔を認識するFace Tracking
AR Foundation_06


【Unity AR Foundationの紹介】

ここからは、Unity の提供する ARフレームワークであるUnity AR Foundationの説明です。メインの話なので、ここでは使われたスライド全てを紹介します。
AR Foundation_07

Unityの Package Manager からインポートすることにより使えます。この講習のタイミングではバージョン1.0.0の Preview22と言うことで、まだプレビュー版となります。
AR Foundation_08

AR Foundationの 作りは構造は次のスライドのようになってます。

要は ARCore と ARKit 上に存在して、開発者は Unityでどちらにでもビルドできるアプリが作れますが、ビルド時には ARCore または ARKit を用いてビルドされることになります。
そのため、たまに AR Foundation になれば ARCore も ARKit もインポートする必要がないと解説している方がいるのですが、インポートは必要です。
AR Foundation のインポートと Android にビルドするなら ARCore のインポート、iOS なら ARKit のインポートが必要となります。
しかし、それぞれ用に開発する必要はなくなりますので とても魅力的です。
AR Foundation_09

今の Android、iOS端末に対応可能と言うのを除いて、他に AR Foundation の特徴として以下のようなものがあります。

LWRP Support
Unity のモバイル端末上で High Quality、High Performance を実現する LWRP(Lightweight Render Pipeline)が使用できる。Unity の Shader Graph も ARに使えることになる。

Camera Image API
カメラ画像の加工やエフェクトの追加をするために、カメラ画像に直接アクセスするAPIがある。

Remoting
 モバイルデバイス用にビルドをしなくても、Unityエディタから直接デバイスに繋げて AR機能のテストができる。

AR Foundation_10

次に実際に AR Foundationで実現できる機能詳細に関して。
どのような機能が AR Foundation で使えるかは以下のスライドをご覧ください。In preview や Coming Soon な物もあります。

そして、ここで大きな注意点ですが、この図だと AR Foundation は ARCoreの機能も ARKitの機能も使えて最強!と言うような感じに見えますが違います。
先に、AR Foundation は ARCore と ARKit の上にあり それらを使ってビルドすると話しましたが、要は Android端末に対しては ARCoreに依存して、iOS端末に対しては ARKitに依存します。
例えば、AR Foundation を使えば Android端末で iOSの 3D Object Tracking ができるわけではありません。
AR Foundation を使ってそのまま どちらにもビルドするのであれば、どちらにも対応できる機能に制限した開発が必要となります。

(当然と言えば当然ですが、私は少しがっかりでした。期待度が高すぎたかな。)
AR Foundation_11

本講座の説明部分は以上です。この先は実際に AR Foundation を設定してみる実習の時間でした。この紹介レポートも、ここからは次回「Unity AR Foundationの設定方法」として解説します。
 
Unity AR Foundationの設定方法


Sponsored Link