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つの機能を提供します。
細かい説明は割愛しますが、個人的に特徴だと感じている部分は下記の通りです。
通信周りの機能というのは、現実世界を再現したマップと理解した環境を複数のユーザーが同時に共有できる機能で、現状は最大5台のスマホで同じ環境を共有できるみたいです。
余談ですが、先日行われたNiantic主催のLightship Global JamにREALITY株式会社で研究開発をしているGREE VR Studio Laboratoryが参戦してきたので興味がある方はこちらもどうぞ。
導入してみる
早速導入してみましょう。事前準備として、Unityのバージョン2019LTS以上が必要なのでインストールしておきます。
はじめにLightshipプラットフォームでアカウントを作る必要があります。
アカウント作成後、Dashboard -> Downloadsからunitypackageをダウンロードし、Unityにimportします。
次にDashboardからlicenseKeyを発行しておきます。このlicenseKeyは通信周りを使う上で指定する必要があります。
EditorのConsoleウィンドウを確認すると画像のエラーが出ていると思います。
Resources/ARDK以下にArdkAuthConfigがないよとのことなので、Resources以下にARDKフォルダを作成してArdkAuthConfigを追加しましょう。これでエラーは消えるはずです。
ApiKeyに先ほど発行したlicenseKeyを設定します。通信周りを使用しないのであれば適当な文字列でも大丈夫です。
以上で導入できました!DownloadsにSampleProjectもunitypackegeとして配布されているので、importして試してみましょう。
遊んでみた
導入自体は簡単にできたので、Sampleシーンをベースに改造して遊んでみました。内容としてはレイを飛ばしDepthBufferProcessorからワールド空間座標を取得してrealityくんを生成しています。realityくんに触れることで飛んでいくように当たり判定も追加しました。
REALITY上で動かしてみる
ここまできたらREALITYに組み込んで動かしてみたい!となるわけでREALITYのマルチプレイゲームにARDKを動かせるように組んでみます。
、、、というところで合宿では時間切れ
手元のiPhoneで試していたのですが、REALITYアプリのiOS版はネイティブ部分とUnity部分を独自のUnity as a Library(のようなもの)で一緒に扱っている複雑な構造をしており、その箇所によりすんなり動いたぞ、とはいきませんでした。
感想
合宿ではREALITY上で動かすというところまで辿り着けませんでしたが、Lightship ARDKの導入からSampleベースで改造してみるあたりまでは試すことができました。
通信周りの部分は色々改造して試すことができなかったため、個人的にももう少し触ってみようかなと思います。
明日のアドベントカレンダーは!
「REALITY iOSをゲームパッドに対応させてみた」です。お楽しみに!