AR Foundation と Lightship ARDK を併用する(ARDK 3.0 Beta)
概要
ARDK 3.0のパプリックベータ版で AR Foundation との互換性が導入されているというのを最近知ったので、AR FoundationのサンプルプロジェクトにLightship ARDK 3.0を導入して、ARDKの機能である「Playback」と「単眼深度推定によるMeshing」を有効化するというあたりを試してみました。
ベータ版なので今後細かいところに変更もありそうですが、とりあえず備忘録として。(執筆:2023/09/24)
AR Foundation と Lightship ARDK
AR Foundationは、Unity社が提供するAR開発用フレームワークです。
ARCore(Android)やARKit(iOS/iPadOS)などの異なるARプラットフォームを抽象化し、一つのAPIで制御できるように設計されています。そのためプラットフォーム固有のコードを書くことなく、複数のARデバイスで動作するアプリケーションを作成でき、非常に便利です。
Lightship ARDKは「Pokémon GO」を始めとする魅力的なARゲームを次々と生み出していることでおなじみNiantic社が提供するAR開発用フレームワークです。
AR Foundation同様、ARCore・ARKitなど複数プラットフォームへの対応が簡単なことに加え、AR体験の共有機能、単眼深度推定による空間マッピング、周辺環境の理解など、ARアプリ上の体験をリッチにできる手軽で便利な機能が複数提供されています。
これまで、AR FoundationとLightship ARDKを併用するためにはちょっと工夫が必要だったりしたみたいですが、AWE USA 2023にて発表されたアップデート内容によると、「Lightship ARDK 3.0」からは、正式にAR Foundationとの互換性が導入されるとのことです🙌
現在はパブリックベータ版が公開されており、Lightshipアカウントにサインインしさえすれば、他に特別な登録をすることなく試すことができます。
やってみる
試しに、以下の動画で紹介されているようにAR Foundation Samples上でLightship ARDKのPlayback機能を動かしてみましょう。
AR Foundation Samplesをダウンロードして起動
以下からAR Foundation Samplesをダウンロードし、Unityで起動します。
Package ManagerでARDK Pluginをインストール
Windowメニュー > Package Manager
からPackage Managerウィンドウを開き、左上の+ボタン
からAdd package from git URL...
を選択します。
ここに記載されている通り、以下のURLを入力することでARDK Pluginをインストールできます。
https://github.com/niantic-lightship/ardk-upm.git
XR Plug-in ManagementでNiantic Lightship SDKを選択
インストールが終わったら、Editメニュー > Project Settings...
を選択してProject Settingsを開きます。
XR Plug-in Management
項目上のPlug-in ProvidersでNiantic Lightship SDK
を選択します。
これによって、Editor上で動作するLightship ARDKの機能を有効化でき、Playbackなどの機能を使用できるようになります。
ついでにiOSなどの対応したいモバイルデバイスの項目でも、Niantic Lightship SDK
を選択しておきましょう。
Lightship Settings
次に、Lightship ARDKの設定項目を入力します。
Lightshipメニュー > Settings
からLightship Settingsを開き、Api Keyの項目に、Lightship ARDKのAPI Keyを入力しましょう。
ここなどにも書いてありますが、Lightshipアカウントダッシュボードに移動し、新しいプロジェクトを作成することでAPIキーを生成できます。
そして、Playback
の項目のEnabled
をオンにし、DatasetPath
でPlaybackデータセットが含まれたフォルダを選択します。
Playbackデータセットは以下からダウンロードして使うこともできますし、ARDKのExampleアプリをインストールすることで、自分のデバイスを使ってデータセットを作成することもできます。
Playbackモードで再生!
さて、ここまできたら再生するだけです。
Assets/Scenes/Meshing/NormalMeshes.unity
などのシーンを開いて、プレイボタンを押してみましょう。
- Editor上で、PlaybackデータセットをもとにARシーンが再生
- Playbackデータセットの映像をもとにMeshが生成
されていれば成功です!
AR FoundationのサンプルプロジェクトにLightship ARDKを導入して、シーン自体のコードの改変をしないまま、ARDKの機能である「Playback」と「単眼深度推定によるMeshing」を有効化することができました。
おわりに
AR FoundationとLightship ARDKのいいとこ取りができるため、Unityを用いたARアプリ開発の可能性が大きく広がりそうですね。上で試した「Playback」の機能だけでもめちゃくちゃ便利なので、一度試してみる価値ありです。ただし、いかんせんベータ版なので動作に不安定な部分があります。(ARHumanBodyManager
とAROcclusionManager
を併用するとデバイスによっては動かないときがある、など。)
アプリに導入する場合はいろいろと実験してから実装してみるのをおすすめします!
Discussion