見出し画像

Niantic Lightship ARDK触ってみた REALITY Advent Calendar #15

REALITY Advent Calendar 15日目の記事を担当するホンダです。これまでの記事に引き続き、先日行われた開発合宿で触れてみた技術について書いていきます!

開発合宿ではLightship ARDKのチュートリアルを触ってみつつ、REALITYに落とし込んでみることを目標に頑張ってみました。

Lightship ARDK とは

「Ingress」や「Pokémon GO」などを開発・運営しているNianticが提供しているUnityベースのARアプリ開発キットです。Lightship ARDKは大きく分けて3つの機能を提供します。

・MAPPING(現実世界の再現)
・UNDERSTANDING(環境の理解)
・SHARING(体験の共有)

細かい説明は割愛しますが、個人的に特徴だと感じている部分は下記の通りです。

・メッシングにLiDARスキャナを使用せず、一般的なカメラに搭載されている RGB カラーセンサーを使ってメッシュを作り出す
・iPhone 12 Pro モデルを含む LiDAR を搭載したスマートフォンともシームレスに調和する
・ARアプリ開発キットながら通信周りの機能も持っている
・Lightship ARDKはクロスプラットフォームでARKitやARCoreを包含するようなイメージ

通信周りの機能というのは、現実世界を再現したマップと理解した環境を複数のユーザーが同時に共有できる機能で、現状は最大5台のスマホで同じ環境を共有できるみたいです。

余談ですが、先日行われたNiantic主催のLightship Global JamにREALITY株式会社で研究開発をしているGREE VR Studio Laboratoryが参戦してきたので興味がある方はこちらもどうぞ。

導入してみる

早速導入してみましょう。事前準備として、Unityのバージョン2019LTS以上が必要なのでインストールしておきます。

はじめにLightshipプラットフォームでアカウントを作る必要があります。

アカウント作成後、Dashboard -> Downloadsからunitypackageをダウンロードし、Unityにimportします。

スクリーンショット 2021-11-19 15.30.00

次にDashboardからlicenseKeyを発行しておきます。このlicenseKeyは通信周りを使う上で指定する必要があります。


スクリーンショット 2021-11-19 15.29.04

EditorのConsoleウィンドウを確認すると画像のエラーが出ていると思います。

スクリーンショット 2021-12-09 20.35.24

Resources/ARDK以下にArdkAuthConfigがないよとのことなので、Resources以下にARDKフォルダを作成してArdkAuthConfigを追加しましょう。これでエラーは消えるはずです。

スクリーンショット 2021-11-19 15.35.33

ApiKeyに先ほど発行したlicenseKeyを設定します。通信周りを使用しないのであれば適当な文字列でも大丈夫です。

スクリーンショット 2021-12-09 20.39.21

以上で導入できました!DownloadsにSampleProjectもunitypackegeとして配布されているので、importして試してみましょう。

遊んでみた

導入自体は簡単にできたので、Sampleシーンをベースに改造して遊んでみました。内容としてはレイを飛ばしDepthBufferProcessorからワールド空間座標を取得してrealityくんを生成しています。realityくんに触れることで飛んでいくように当たり判定も追加しました。

スクリーンショット 2021-12-10 18.34.09
画像7

REALITY上で動かしてみる

ここまできたらREALITYに組み込んで動かしてみたい!となるわけでREALITYのマルチプレイゲームにARDKを動かせるように組んでみます。

、、、というところで合宿では時間切れ

手元のiPhoneで試していたのですが、REALITYアプリのiOS版はネイティブ部分とUnity部分を独自のUnity as a Library(のようなもの)で一緒に扱っている複雑な構造をしており、その箇所によりすんなり動いたぞ、とはいきませんでした。

感想

合宿ではREALITY上で動かすというところまで辿り着けませんでしたが、Lightship ARDKの導入からSampleベースで改造してみるあたりまでは試すことができました。

通信周りの部分は色々改造して試すことができなかったため、個人的にももう少し触ってみようかなと思います。

明日のアドベントカレンダーは!

REALITY iOSをゲームパッドに対応させてみた」です。お楽しみに!