iPhoneやiPadのLiDARでスキャンしたデータをclusterにアップするまでの手順

最近、奈良のシビックテック界隈でメタバースが盛り上がってきている。本記事は、生駒でのCODE for IKOMAのメタバースイベントを機に、身近な端末でスキャンして取得したデータをメタバースプラットフォームにアップするまでの手順をまとめたものである。

iPhone13 Pro/Pro MAX、iPad pro等に搭載されているLiDARスキャナ。この機能を活用することで、自分の身の回りのモノや建物、空間など多くのものをスキャンし、3次元的なデータにすることができる。本メモでは、そのスキャンデータを日本製メタバースプラットフォームCluster（クラスター）にアップし、バーチャル空間で活用できるようにするまでの手順を記載しておく。

## 1. Unityの環境をインストールする

アップするまでの間に、Unityの機能を使う必要がある。その際必要となるUnityの環境は、端的に書くと以下の項目になる。
・Unity Hub（Unityのバージョンを管理してくれるツール）のインストール
・Unityのインストール（重要：バージョンは2019.4.22f1）
・Unityのアカウント作成
・Cluster Creator Kitの導入

特に、Unityのバージョンは気をつけてインストールしないと、Clusterで使えなかったりする。このあたりの手順は、こちらのnoteの記事がわかりやすいので参考にする。記事に従って、Unity HubとUnityのインストール、アカウント作成までをやる。（Cluster Creator Kitについては後述する）

https://note.com/machikou_mk2/n/ndade3743f8a2

# 2.スキャンしたデータを準備する

私の場合は、スキャンはScaniverse（スキャニバース）のアプリをインストールして行っている。スキャンしたデータをエクスポートして使う。こちらの記事でデータのエクスポートについて紹介している。

https://fukuno.jig.jp/3511

なお、記事ではGLB形式でエクスポートしているが、今回はFBX形式でエクスポートしよう。iPhone等からデータをエクスポートしたら、UnityをインストールしたPCにデータを送っておく。スキャンデータはこれで準備完了。

# 3.Cluster Creator Kitを導入する

今回は一番簡単な方法として、Cluster Creator Kitというものを導入してみる。Clusterの本家が提供しているサンプルプロジェクトだ。Clusterの連携に必要な設定がしてあるので一番手頃である。以下のURLにある「Cluster Creator Kitを導入してみる」を参考にして、リストに追加というところまでやるとUnityが立ち上がる。（noteの以降の部分は、やさしい説明なので読んでおいても損はない）

https://note.com/machikou_mk2/n/naac43f3d279d#0TlhG

# 4.Unityにデータを投入する

そうしたら、プロジェクトに先程のfbxデータをドラッグして投入する。ProjectタブのAssetsのところに投入してみよう。今回はpark.fbxというデータを投入してみた。
![スクリーンショット 2022-06-18 15.57.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101800/4d1cd68d-edab-d9d8-1b73-8784e1d8cff0.png)

投入したら、今度はAssetsの中に表示されているparkというやつをHierarchyタブのSample Sceneの中にドラッグする。ドラッグすると、スキャンデータがSceneのタブの中に現れる。でも白い。。
![スクリーンショット 2022-06-18 15.57.48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101800/64f4012f-2018-2d82-aad5-863b5a339c46.png)

実はLiDARで撮ったデータを入れるときは、Unityのデータの設定をちょっと変更する必要がある。Assetsのparkを選択して、InspectorタブにあるMaterialsを選択。ここにある項目を以下のように設定する。

> Material Creation Mode：import via material description
Location：use extreme materials（Legacy）
Textures：by base texture name
Materials：recrusive-up

![スクリーンショット 2022-06-18 16.28.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101800/d200568d-1eb3-43f1-2384-3c963632a6c4.png)

設定したら、Applyボタンを押す。（この段階ではまだデータは白い）
次に、Assetsにあるparkのデータをダブルクリックすると、park.fbmというフォルダがAssetsの中に現れる。このフォルダを選択すると、「texture」というデータが表示されるので、これをSceneにある白い部分にドラッグする。
![スクリーンショット 2022-06-18 16.34.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101800/8ef8344c-0893-c0cb-7dea-c46c8d95d224.png)

すると、やっと色がついた。このように、fbxのデータには形の情報とそれの色の情報が別れて入っているので、それぞれ設定してあげる必要がある。
![スクリーンショット 2022-06-18 16.34.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101800/9c1289dd-69d7-bf0c-feba-53625398f0fb.png)

表示されたデータは、この時点だとスキャンしたときよりも暗めになっている。Hierarchyタブでparkを選択し、Inspectorタブの中にあるtextureのShaderを「Unlit/Texture」に設定してあげると、色が鮮やかになる。
![スクリーンショット 2022-06-18 16.38.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101800/c990b1f9-a0fc-ffa6-de0f-7e22fbcea94c.png)

# 5. Clusterにアップロードするために最低限必要な要素を設定する

Clusterにアップロードするときに、最低限設定しておく必要があるものがある。ゲーム開始時にアバターが最初に配置される出現ポイント（SpawnPoint）と、衝突可能なオブジェクト（Collider）の設定、衝突する場所から落下等をした場合に消滅する高さ（DespawnHeight）である。以下の公式の記事を見ながら設定してみよう。今回の場合は、GameObjectはインポート済みのparkデータになるので、新規に作成する必要はなく、parkのInspectorタブの一番下にある「Add Component」のところから設定すればよい。「Spawn Point」「Despawn Height」「Mesh Collider」を設定する。

https://creator.cluster.mu/2020/03/29/%e5%88%b6%e4%bd%9c%e3%81%97%e3%81%9f%e3%83%af%e3%83%bc%e3%83%ab%e3%83%89%e3%82%92%e3%80%8ccluster%e3%80%8d%e3%81%ab%e3%82%a2%e3%83%83%e3%83%97%e3%83%ad%e3%83%bc%e3%83%89%e3%81%99%e3%82%8b%e3%81%9f/

![スクリーンショット 2022-06-19 16.56.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101800/602aec86-9768-3943-8267-da927a537f51.png)
▲「Spawn Point」「Despawn Height」「Mesh Collider」の設定後画面

# 6.作成したワールドをClusterにアップロードする

そしていよいよ、作成したワールドをClusterにアップロードする。手順は公式に書いてあるのでこれを参考にしよう。
※最初のアップロード時に「TagがMainCameraのCameraを配置できません」とエラーが出る場合があるが、その場合はMainCameraを削除しても問題ないはず

https://creator.cluster.mu/2020/03/28/%e5%88%b6%e4%bd%9c%e3%81%97%e3%81%9f%e3%83%af%e3%83%bc%e3%83%ab%e3%83%89%e3%82%92%e3%80%8ccluster%e3%80%8d%e3%81%ab%e3%82%a2%e3%83%83%e3%83%97%e3%83%ad%e3%83%bc%e3%83%89%e3%81%99%e3%82%8b/

アップするのに少し時間がかかる。アップが完了したら、マイワールドの一覧から「ワールドに入る」を押して、ちゃんとできているか試してみよう。

初回の設定を含めると長い道のりだけど、ここまでできれば自分のワールドを拡張していくのが楽しくなる。ぜひ、素敵なメタバースライフを！