最近、奈良のシビックテック界隈でメタバースが盛り上がってきている。本記事は、生駒での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については後述する)
2.スキャンしたデータを準備する
私の場合は、スキャンはScaniverse(スキャニバース)のアプリをインストールして行っている。スキャンしたデータをエクスポートして使う。こちらの記事でデータのエクスポートについて紹介している。
なお、記事ではGLB形式でエクスポートしているが、今回はFBX形式でエクスポートしよう。iPhone等からデータをエクスポートしたら、UnityをインストールしたPCにデータを送っておく。スキャンデータはこれで準備完了。
3.Cluster Creator Kitを導入する
今回は一番簡単な方法として、Cluster Creator Kitというものを導入してみる。Clusterの本家が提供しているサンプルプロジェクトだ。Clusterの連携に必要な設定がしてあるので一番手頃である。以下のURLにある「Cluster Creator Kitを導入してみる」を参考にして、リストに追加というところまでやるとUnityが立ち上がる。(noteの以降の部分は、やさしい説明なので読んでおいても損はない)
4.Unityにデータを投入する
そうしたら、プロジェクトに先程のfbxデータをドラッグして投入する。ProjectタブのAssetsのところに投入してみよう。今回はpark.fbxというデータを投入してみた。
投入したら、今度はAssetsの中に表示されているparkというやつをHierarchyタブのSample Sceneの中にドラッグする。ドラッグすると、スキャンデータがSceneのタブの中に現れる。でも白い。。
実は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
設定したら、Applyボタンを押す。(この段階ではまだデータは白い)
次に、Assetsにあるparkのデータをダブルクリックすると、park.fbmというフォルダがAssetsの中に現れる。このフォルダを選択すると、「texture」というデータが表示されるので、これをSceneにある白い部分にドラッグする。
すると、やっと色がついた。このように、fbxのデータには形の情報とそれの色の情報が別れて入っているので、それぞれ設定してあげる必要がある。
表示されたデータは、この時点だとスキャンしたときよりも暗めになっている。Hierarchyタブでparkを選択し、Inspectorタブの中にあるtextureのShaderを「Unlit/Texture」に設定してあげると、色が鮮やかになる。
5. Clusterにアップロードするために最低限必要な要素を設定する
Clusterにアップロードするときに、最低限設定しておく必要があるものがある。ゲーム開始時にアバターが最初に配置される出現ポイント(SpawnPoint)と、衝突可能なオブジェクト(Collider)の設定、衝突する場所から落下等をした場合に消滅する高さ(DespawnHeight)である。以下の公式の記事を見ながら設定してみよう。今回の場合は、GameObjectはインポート済みのparkデータになるので、新規に作成する必要はなく、parkのInspectorタブの一番下にある「Add Component」のところから設定すればよい。「Spawn Point」「Despawn Height」「Mesh Collider」を設定する。
▲「Spawn Point」「Despawn Height」「Mesh Collider」の設定後画面
6.作成したワールドをClusterにアップロードする
そしていよいよ、作成したワールドをClusterにアップロードする。手順は公式に書いてあるのでこれを参考にしよう。
※最初のアップロード時に「TagがMainCameraのCameraを配置できません」とエラーが出る場合があるが、その場合はMainCameraを削除しても問題ないはず
アップするのに少し時間がかかる。アップが完了したら、マイワールドの一覧から「ワールドに入る」を押して、ちゃんとできているか試してみよう。
初回の設定を含めると長い道のりだけど、ここまでできれば自分のワールドを拡張していくのが楽しくなる。ぜひ、素敵なメタバースライフを!