Nrealアプリを作成してみた

# はじめに
Nreal Lightと開発用Android端末が手元に届いたので、Nrealアプリを作成してみました。
Nrealアプリの開発手順を当記事に残します。

# 開発環境
- Unity (2020.3.36f1)
- Xperia 5 III SOG05
- Nreal Light
- NRSDK for Unity 1.10.1


# 事前準備
Unityは勿論ですが、NRSDKをダウンロードする必要があります。
[こちら](https://developer.nreal.ai/download)のNreal公式サイトより、最新のUnity SDKをダウンロードしてください。
※ダウンロードするには、Nrealのアカウント作成が必要です。

また、Google Play Storeより「[Nebula](https://play.google.com/store/apps/details?id=ai.nreal.nebula.universal)」をAndroid端末へ事前にインストールします。

# プロジェクトの作成
Projects -> New projectから新しいプロジェクトを作成します。
テンプレートは「3D」を選択し、プロジェクト名と保存場所を設定してください。
問題なければ、画面右下の「Create project」を押下して新規プロジェクトの作成を行います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2949714/1f75325b-85ca-2855-17d4-15d18fe03254.png)

# NRSDKのインポート
Assets -> Import Package -> Custom Package... より、ダウンロードしたNRSDKを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2949714/e5e97da2-8050-1ad4-13db-b3c03290e143.png)
選択後、画面左下に小さいウインドウが表示されます。
ウインドウ内の右下にあるImportを押下してインポートしてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2949714/3c689cb8-05b7-c3b0-e9f1-ccc2c73ff60c.png)
インポート後、Assets内にNRSDKが追加されていることを確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2949714/cbc920d7-c004-72fb-7a4c-b5cd33e8d151.png)

# NRSDKのインポートによるエラーの解消
NRSDK -> Project Tipsを確認すると、エラーが発生していることを確認できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2949714/f84a6338-9691-2e38-e1df-2e920394e982.png)

File -> Build Settings...でBuild Settingsを開きます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2949714/8cdd0343-8484-a4b7-9219-5deebbf26537.png)

Androidを選択し、Switch Platformを押下してプラットフォームを変更します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2949714/115cf63f-3c6b-ae17-11ac-8dac0b88ba42.png)

プラットフォーム変更後、NRSDK -> Project TipsにてAccept Allを押下してください。
「Are you sure?」とポップアップが表示されますので、Yes, Accept Allを押下してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2949714/d8e8930f-6bf8-c846-56e9-729222e2d324.png)

No issues foundと表示されるていれば、エラーが解消されています。

# カメラとコントローラーの配置
Assets -> NRSDK -> Prefabs内にあるNRCameraRigとNRInputをドラッグ＆ドロップでHierarchyに配置します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2949714/812e099f-264d-d0fd-58fd-e3015d261f54.png)

# 確認用のオブジェクトを配置
Assets -> NRSDK -> Demos -> HelloMR -> Logo -> Models内にあるオブジェクトをHierarchyに配置します。
※今回はMascotを使用しています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2949714/33f77d08-d20b-d6be-e0e8-04498313b1b5.png)

配置後、オブジェクトをカメラが見える位置に移動させます。
HierarchyでMascotを選択後、Inspector -> Transform -> Position内のZの値を5に変更してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2949714/2472c3ac-270a-eb30-7da0-a11496cc16de.png)



# 実機での確認
Android端末をPCと接続し、File -> Build Settings -> Buildでapkファイルを作成します（ファイル名と保存先は任意）。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2949714/7e2dc13d-ba6f-1a0d-07a5-d4f56e0774ac.png)

apkファイル作成後、Android端末に作成したapkファイルをコピーし、Android端末内でインストールを行います。
インストール後、Nreal LightをAndroid端末に接続して、Nebulaアプリ上でARモードを選択します。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2949714/42b05bc6-a975-cf01-e6e0-43ee0b63c334.png" width="300ox">

Nreal Lightを頭に装着し、作成したアプリを実行します。
配置したMascotオブジェクトが見えたら完了です。


# 参考
https://nreal.gitbook.io/nrsdk/nrsdk-fundamentals/quickstart-for-android

https://synamon.hatenablog.com/entry/nrealnyuumon