📱

AR Foundation と Lightship ARDK を併用する(ARDK 3.0 Beta)

2023/09/25に公開

概要

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デバイスで動作するアプリケーションを作成でき、非常に便利です。
https://unity.com/ja/unity/features/arfoundation

Lightship ARDKは「Pokémon GO」を始めとする魅力的なARゲームを次々と生み出していることでおなじみNiantic社が提供するAR開発用フレームワークです。
AR Foundation同様、ARCore・ARKitなど複数プラットフォームへの対応が簡単なことに加え、AR体験の共有機能、単眼深度推定による空間マッピング、周辺環境の理解など、ARアプリ上の体験をリッチにできる手軽で便利な機能が複数提供されています。
https://lightship.dev/products/ardk/

これまで、AR FoundationとLightship ARDKを併用するためにはちょっと工夫が必要だったりしたみたいですが、AWE USA 2023にて発表されたアップデート内容によると、「Lightship ARDK 3.0」からは、正式にAR Foundationとの互換性が導入されるとのことです🙌
https://lightship.dev/blog/lightship-ardk-3-0/
https://gamemakers.jp/article/2023_06_12_40835/

現在はパブリックベータ版が公開されており、Lightshipアカウントにサインインしさえすれば、他に特別な登録をすることなく試すことができます。

やってみる

試しに、以下の動画で紹介されているようにAR Foundation Samples上でLightship ARDKのPlayback機能を動かしてみましょう。
https://youtu.be/CFa06WEzjzE?si=_2zmyk7hBp2jNQfo&t=501

AR Foundation Samplesをダウンロードして起動

以下からAR Foundation Samplesをダウンロードし、Unityで起動します。
https://github.com/Unity-Technologies/arfoundation-samples

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アプリをインストールすることで、自分のデバイスを使ってデータセットを作成することもできます。
https://lightship.dev/docs/ardk/experimental/playback_mode.html#getting-datasets

Playbackモードで再生!

さて、ここまできたら再生するだけです。
Assets/Scenes/Meshing/NormalMeshes.unityなどのシーンを開いて、プレイボタンを押してみましょう。

  1. Editor上で、PlaybackデータセットをもとにARシーンが再生
  2. Playbackデータセットの映像をもとにMeshが生成

されていれば成功です!
AR FoundationのサンプルプロジェクトにLightship ARDKを導入して、シーン自体のコードの改変をしないまま、ARDKの機能である「Playback」と「単眼深度推定によるMeshing」を有効化することができました。

おわりに

AR FoundationとLightship ARDKのいいとこ取りができるため、Unityを用いたARアプリ開発の可能性が大きく広がりそうですね。上で試した「Playback」の機能だけでもめちゃくちゃ便利なので、一度試してみる価値ありです。ただし、いかんせんベータ版なので動作に不安定な部分があります。(ARHumanBodyManagerAROcclusionManagerを併用するとデバイスによっては動かないときがある、など。)
アプリに導入する場合はいろいろと実験してから実装してみるのをおすすめします!

Discussion