Lightship ARDK のサンプルプロジェクトを動かしてみる

# Lightship ARDKとは？
Nianticが開発している「Ingress」や「ポケモンGO」などの基盤となるプラットフォームです。

![unnamed.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/229633/794d1aa3-18e0-34c1-8906-d2e173fdbcce.jpeg)
ARDKには「Mapping （リアルタイムでの現実世界の再現）」，「Understanding （環境の理解）」，「Sharing （体験の共有）」というAR機能の3つの核を処理するツールや，技術がまとめられており，世界中の開発者が持つARの世界観を実現できるようになります。

https://lightship.dev/

Lightship ARDK で制作されたデモが多数公開されているので、今回動作するように設定しましたので備忘録としてまとめます。

![meshing_lightship.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/229633/ba15c0e9-920c-3c10-ddfd-6de567bb1c69.gif)　![semantics_lightship.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/229633/62258750-4ecd-00f3-6fb1-e7c859b5d84a.gif)

※　こちらは [AR Voyage Project](https://lightship.dev/docs/ar_voyage_index.html) にあります。今後、動作させれるようにしてまとめます。

追記 : 動作させれるようにしてまとめました。

https://qiita.com/nekoharuyuki/items/fd08ac68cf5ae7025d86

## AR開発で参考になる本
* [ARの教科書](https://amzn.to/3ywoKI7)
* [ARの実践教科書](https://amzn.to/3w488FW)
* [未来ビジネス図解　仮想空間とVR](https://amzn.to/3PqoHDQ)

## やったこと
1. 開発者登録
2. Lightship ARDK とサンプルをダウンロード
3. Unityのプロジェクトにインポート
4. iOSでビルド
5. androidでビルド

動画でやり方が説明されています。（英語ですが...）

https://www.youtube.com/watch?v=Yvk-5y9fu_g&t=7s

[YouTubeチャンネル](https://www.youtube.com/channel/UCn5d3ck0M5taA69R9H9AYjw) もあります。

## 1. 開発者登録
[Lightshipのサイト](https://lightship.dev/products/ardk/) へアクセスして、「Download Now」をクリックします。
初回アクセスでメールアドレスなどの情報登録があるので登録を行います。

## 2. Lightship ARDK とサンプルをダウンロード

[Download ARDK](https://lightship.dev/account/downloads) ページに移動して、下記画像のボタンから、ardk-1.0.1.unitypackage と ardk-examples-1.0.1.unitypackage をダウンロードします。
![スクリーンショット 2021-11-10 23.33.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/229633/0b7e2c05-7531-14f2-e43a-ca38dc5ce364.png)　![スクリーンショット 2021-11-10 23.33.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/229633/1699bb0d-d883-8b47-8312-a44a050543db.png)

## 3. Unityのプロジェクトにインポート

ダウンロードしたパッケージをUnityプロジェクトにインポートします。
Macを使用している場合は、M1 をサポートしていないとのことなので注意が必要です。

> ARDK is not supported by certain Mac models with Apple Silicon processors (‘M1 chips’) as ARDK requires the Unity 2019.4 LTS version which is also incompatible with Apple Silicon. The Niantic team is aware of this issue and is working to support this in future versions.

> ARDKは、AppleSiliconと互換性のないUnity2019.4 LTSバージョンを必要とするため、Apple Siliconプロセッサ（「M1チップ」）を搭載した特定のMacモデルではサポートされていません。Nianticチームはこの問題を認識しており、将来のバージョンでこれをサポートするよう取り組んでいます。

参考 : https://lightship.dev/docs/importing_ardk.html

**追記**
Apple Siliconプロセッサ（「M1チップ」）を搭載した特定のMacモデルでも対応出来るようになりました。[Developing Using M1 Macs](https://lightship.dev/docs/troubleshooting.html) に対応方法の記載があります。

### 3.1 Unityのプロジェクトを作成
[動画](https://www.youtube.com/watch?v=Yvk-5y9fu_g&t=7s) でプロジェクトを作成する際に「Mobile 3D」を選択していたので、「Mobile 3D」でプロジェクトを作成しました。
![スクリーンショット 2021-11-10 23.13.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/229633/e7c3135d-6ff9-8ba7-7fd5-bc3a93d9b7df.png)
### 3.2 サンプルプロジェクトを開く
以下のパッケージをインポートします。

- ardk-1.0.1.unitypackage
- ardk-examples-1.0.1.unitypackage

今回は SemanticSegmentation の動作する環境を整えていきます。
![スクリーンショット 2021-11-10 23.25.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/229633/f4e14a0d-dfb3-3194-be5a-d3c0a100e95a.png)
この状態だとエラーが出るので対応します。

### 3.3 ArdkAuthConfig を用意する
Resources フォルダ で「Create -> ARDK -> ArdkAuthConfig」を選択します。
![ardk_auth_config.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/229633/a220baea-bbd4-4f5e-3864-754164ce4e7c.png)
ArdkAuthConfig ファイルのApi Keyにkeyを登録します。
（今回はとりあえず SemanticSegmentation を動かしたいだけなので、適当に入力します。）
![api_key.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/229633/38dbad81-8add-a025-2e58-41f23bc463fe.png)
（時々何かのタイミングでキーが消える事があるので注意）
参考 : https://lightship.dev/docs/authentication.html

### 3.4 MockupScene に ARDK_MockWorld Layer を設定する
Hierarchy の MockupScene を選択します。
![スクリーンショット 2021-11-11 0.26.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/229633/55c4cf35-94a2-c7ce-f5f5-cf4313d7427b.png)
Layer から add Layer... を選択します。
User Layer の空いているところに ARDK_MockWorld を追加して、MockupScene に設定します。
![スクリーンショット 2021-11-11 0.29.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/229633/e836c11b-f15f-7fdc-bbc7-2773bc9e1b33.png)
これで全てのエラーが消えます。

## 4. iOSでビルド

https://lightship.dev/docs/building_ios.html

こちらのサイトに記載されている方法でビルドします。

## 5. androidでビルド

https://lightship.dev/docs/building_android.html

こちらのサイトに記載されている方法でビルドします。

# まとめ

サンプルを動かすことが出来ました！

https://twitter.com/pirorororonn/status/1458610482567254019