0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Unity × Immersalで道案内アプリ

Last updated at Posted at 2025-08-05

はじめに

普段、IT企業で働いてますプログラマー芸人のジンバと申します!
Unity × Immersal SDKでVPSを用いたARアプリを実装できます!現実空間に正確にオブジェクトを配置することができますよ!

ただオブジェクトを置くだけでなく道案内も可能です!手順を紹介します!

セットアップ

PackageManagerで
https://github.com/immersal/imdk-unity.git

を追加し、CoreSamplesをインポートする。

f4a1d3b3-ae8b-4a4f-9dd8-8117a36999b3.png

Switch PlatformでAndroidやiOSにする。

Immersal SDKのLoginでログインする。(マップが読み込めないときはこれが原因の時が多い)

109c6e7a-b76f-4dc1-8908-f37477d16552.png

シーン作成

サンプルのシーンのNavigationSampleNavMesh.unityをコピーして、適当な場所にペーストする。そのシーンで作業をする。

df75ed51-b35b-4b20-b7eb-30cddad040a5.png

dd8b618a-34ba-4c83-9de9-66a70f492c9b.png

ヒエラルキーのXR Map…を開き、Reconfigure Mapをクリック

dd4facea-a9a1-4c57-9a9b-d35420fcc70a.png

ImmersalのDeveloper Portalを参照して、自分でスキャンしたMap idを入力し、チェックを全て入れてDownloadする。

29e6b8af-6567-4f0c-8c90-b57c6a8fd327.png

GameObject名がマップの名前になり、点群が表示される。ほかのXR Mapも同様に変更したり、不要なものは削除する。

a1bc2fc4-1c92-4747-9789-203e1e0763fc.png

注意点として、既存のXR Mapを複製すると点群が消えてしまう場合がある。(緑色の点がなくなる)

c1c64113-1bc4-4ec4-8292-f20a22be1b97.png

新しくマップを追加したい場合がGameObjectを作成してXR Mapコンポーネントを追加する。

43557fbf-4330-4d30-860f-576dcdcc6c12.png

マップに対応するglbファイルをダウンロードし、点群と合わせて位置を確認する。マップが複数ある場合はうまく連結するように配置する。(360度動画から生成した場合、Metashapeで作成したfbxファイルでもよい)
glbファイルの表示に

が必要

8bb6fcc8-f403-4178-94e1-0b6222cf69db.png

d433292b-f670-4415-85c8-502884bfeec6.png

floorplanオブジェクトを削除し、床の高さに合わせて通って良いルートにPlaneを複数作成する。ただし、Layerは「Navigation(無いなら作る)」に変更する。
やや大きめにPlaneを置くと良い。

edac9ee0-0c59-426e-b4fa-5b2999dbdd10.png

設置し終わったらGenerate NavMeshSurface hereオブジェクトを開き、Include LayersをNavigationに選択してBakeをする。

9a9a9d9c-7170-4ef8-8dca-7c29243012ed.png

413d1e16-bbe7-4c03-a875-ad15bbd71a7e.png

マーカーを移動させたり、複製して追加したりする。

2547b1a4-d393-4f1e-9cc0-e1e503f8dfe0.png

GLBファイルを非表示にしたり、Planeに透明のMaterialを作ってアタッチしてビルドする。(ビルドするシーンを間違えないように
)

4ec04971-28a8-415a-9840-a1ace551d80d.png

マッピングした場所に向かうと道案内してくれる。

b41412b9-77e4-435b-abd4-11dffe9da11b.png

注意点

Planeの高さが低い状態でNavMeshをBakeすると画像のようにナビゲーションできないことがある。

997a688e-32bf-4eb4-ae3c-a16b3a5674d1.png

そのときはGenerate NavMeshSurface hereオブジェクトを開き、NaveMeshSurfaceのAgentTypeで独自のTypeを追加し、Heightを高くして設定する。

c1923d04-7db6-4f00-8634-a932d285c949.png

73a759f1-31f4-4570-ac65-a6c0c5dc0b20.png

告知

ご覧いただきありがとうございました!
普段、IT企業で働いてます「プログラマー芸人」ジンバです!
YouTubeもご覧くださいー!↓

初テレビ.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?