![見出し画像](https://assets.st-note.com/production/uploads/images/67664556/rectangle_large_type_2_630ce60a9bf097a090fc16c089ac8e75.png?width=1200)
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](https://assets.st-note.com/production/uploads/images/67410463/picture_pc_854e92e1f9789a5b902e02f33e2d5289.png?width=1200)
次にDashboardからlicenseKeyを発行しておきます。このlicenseKeyは通信周りを使う上で指定する必要があります。
![スクリーンショット 2021-11-19 15.29.04](https://assets.st-note.com/production/uploads/images/67410803/picture_pc_6ba8f20f255c2b937f18d9c33f146f69.png?width=1200)
EditorのConsoleウィンドウを確認すると画像のエラーが出ていると思います。
![スクリーンショット 2021-12-09 20.35.24](https://assets.st-note.com/production/uploads/images/67411062/picture_pc_6bfe39ed9c40b14d1a528753a9a953c2.png?width=1200)
Resources/ARDK以下にArdkAuthConfigがないよとのことなので、Resources以下にARDKフォルダを作成してArdkAuthConfigを追加しましょう。これでエラーは消えるはずです。
![スクリーンショット 2021-11-19 15.35.33](https://assets.st-note.com/production/uploads/images/67411162/picture_pc_2ab26154a4bffc726f6f5613aa9c91d1.png?width=1200)
ApiKeyに先ほど発行したlicenseKeyを設定します。通信周りを使用しないのであれば適当な文字列でも大丈夫です。
![スクリーンショット 2021-12-09 20.39.21](https://assets.st-note.com/production/uploads/images/67411305/picture_pc_0dd2d6af1e13140f4dcd0a4bc83bf760.png?width=1200)
以上で導入できました!DownloadsにSampleProjectもunitypackegeとして配布されているので、importして試してみましょう。
遊んでみた
導入自体は簡単にできたので、Sampleシーンをベースに改造して遊んでみました。内容としてはレイを飛ばしDepthBufferProcessorからワールド空間座標を取得してrealityくんを生成しています。realityくんに触れることで飛んでいくように当たり判定も追加しました。
![スクリーンショット 2021-12-10 18.34.09](https://assets.st-note.com/production/uploads/images/67471506/picture_pc_8549c9db5d5248d4b24a73fcbb1fdd32.png?width=1200)
![画像7](https://assets.st-note.com/production/uploads/images/67474046/picture_pc_5d80a2937bcbeb32f9ba373a5f999cee.gif)
REALITY上で動かしてみる
ここまできたらREALITYに組み込んで動かしてみたい!となるわけでREALITYのマルチプレイゲームにARDKを動かせるように組んでみます。
、、、というところで合宿では時間切れ
手元のiPhoneで試していたのですが、REALITYアプリのiOS版はネイティブ部分とUnity部分を独自のUnity as a Library(のようなもの)で一緒に扱っている複雑な構造をしており、その箇所によりすんなり動いたぞ、とはいきませんでした。
感想
合宿ではREALITY上で動かすというところまで辿り着けませんでしたが、Lightship ARDKの導入からSampleベースで改造してみるあたりまでは試すことができました。
通信周りの部分は色々改造して試すことができなかったため、個人的にももう少し触ってみようかなと思います。
明日のアドベントカレンダーは!
「REALITY iOSをゲームパッドに対応させてみた」です。お楽しみに!