1. はじめに
AR開発者キット「Niantic Lightship ARDK」が一般公開されたので、さっそく使用してみた。
ARDKには「Mapping (リアルタイムでの現実世界の再現)」,「Understanding (環境の理解)」,「Sharing (体験の共有)」というAR機能の3つの核を処理するツールや,技術がまとめられており,世界中の開発者が持つARの世界観を実現できるようになる。
とのこと。
残念ながらUnrealのSDKはなかったので、UnityのSDKを使用。
ドキュメント
Niantic AR Development Kit (ARDK): Augmented Reality Development Kit
2. 開発環境のセットアップ
開発環境の要件は以下。
Niantic AR Development Kit (ARDK): ARDK System Requirements
Niantic AR Development Kit (ARDK): Getting Started with ARDK
上記ドキュメント通りにセットアップ。
今回は以下の環境でセットアップ。
OS | Unity ver | ARDK SDKver |
---|---|---|
Windows10 | Unity2020.3.22f1 | v1.0.1 |
2-1. APIトークンキーの取得
アカウント作成後に上記ダッシュボードに移動。
↑のようになっていると思うので、 App name
を入力して Create。
ライセンスキーが発行されるので、copy。
2-2. Unityのインストール
ARDK is officially supported on the Unity 2019.4 LTS release. To download Unity, visit https://unity3d.com/get-unity/download.
とのことなので、 Unity 2020.3.22f1 (LTS)
をダウンロード
Unityのインストールが完了したら、以下にアクセスしてunityPackageをインストール。(アカウント作成が必要)
Niantic AR Development Kit (ARDK): Getting Started with ARDK
適当にUnityプロジェクトを作成して、unitypackageをインポート。
3. サンプルシーン
↑のARDKのサンプルシーンよりunitypackageをダウンロード & プロジェクトにインポート。
AnchorsWithoutPlanes
のサンプルを開き、Playして確認。
以下のエラーが表示されるようであれば、 Project Settings
の Tags And Layer
の layer
に ARDK_MockWorld
を追加。
#Niantic.ARDK.VirtualStudio.AR.Mock._MockFrameBufferProvider#: Add the ARDK_MockWorld layer to the Layers list (Edit > ProjectSettings > Tags and Layers) in order to render in Mock AR sessions.
Playして確認。
4. 認証
ネットワーク機能を使用するには認証が必要。
Niantic AR Development Kit (ARDK): Authentication
上記ドキュメント通り設定。
Sampleをインポート済なので、以下の ArdkAuthConfig
ファイルのApikeyに2.1 にてコピーしたキーを設定。
サンプルの LowLevelNetworking
シーンを開いて起動。
起動したら Init
と Connect
を押して、下記のようになっていれば成功!
5. Androidビルド
Build Settingsにて Android
にSwitch Platformする。
Player Settings
の Other Settings
の Rendering
セクションで、Auto Graphics API
設定のチェックを外し、Vulkanレンダラーが存在する場合は削除。
Scripting Backend
を IL2CPP
に選択。
API Compatibllity Level
を .Net 4.x
を選択。
Target Architectures の ARMv7
と ARMv64
にチェックをいれる。
ビルドして手元のAndroidにインストール。。。。
AR表示にならない。。
よくよく確認すると Android11では API Targetlevel 30
のビルドが動かないよう。。
Android11およびAPIレベル30はARCoreを使用できません。現在、ARDKおよびAndroid 11を実行している電話との競合があります。ARDKアプリがUnityからターゲットAPIレベル30で構築されている場合、Android 11デバイスでARCoreは、インストールされているかどうかに関係なく使用できないように見えます。最も簡単な修正は、アプリがAPIレベル29以下をターゲットにする必要があることです。詳細については、システム要件のAndroid開発に関するセクションを参照してください。
Target Api Levelを29にして再ビルド。
それでもAR表示にならず。。
一旦サンプルで起動するのは諦めて、チュートリアルのプロジェクトをドキュメント通りに作成。
Niantic AR Development Kit (ARDK): Basic Placement Tutorial
かなり詳しく書いてあるので、手順通りやれば問題なさそう。
再度ビルドしてAndroidにインストール。
アプリ起動。。。。
成功!!
地面を平面として認識してくれて、その上をタップするとサンプル通りにオブジェクトが追加されました。
サンプルの動かし方が不明のままなので、サンプルの使い方などを次からやってみようと思う。
参考
Niantic AR Development Kit (ARDK): Augmented Reality Development Kit