開発環境
M1 Macbook pro 14inch
macOS Monterey 12.6
xcode 14.1
iPhone 14 Pro
ios 16.1.1
Unity 2020.3.35f1 LTS
ARCore Extensions 1.34.0
AR Foundation 4.1.9
AR Kit XR Plugin 4.1.9
Geospatial API(ARcore)
CityGML(PLATEAU)
概要
- 建物にスマホをかざすとその建物のモデルを入手することができる
- 入手したモデルはシムシティにように、自身の仮想空間に自由に配置することができる
- 仮想空間に配置したモデルは、現実空間にAR表示することができる
- 仮想空間の中は、他の人と共有することができ、どうぶつの森のように行き来することができる
使用したシーン(画面遷移)
4つのシーンを用いて作成しました。
1. AR画面(モデル入手画面)
- アプリを起動すると、AR画面となり、カメラが起動する
- カメラに建物を映し画面をタップすることで、その建物モデルを取得する
2. 仮想空間画面(モデル配置画面)
- 仮想空間画面では入手したモデルを配置(シムシティのようにマス目状のタイルに建物を配置するイメージ)
3. AR表示画面(現実空間に仮想空間表示画面)
- 画面遷移するとカメラが起動する
- 画面をタップすると、仮想空間に配置したモデルをAR表示することができる
4. 仮想空間共有画面
- 作成した仮想空間はphotonを用いて他人と共有することができる(どうぶつの森のように、他の人の島に行くイメージ)
詳細
1. AR画面(モデル入手画面)
- Geospatial APIを用いて、現実の建物とPLATEAUモデルの重ね合わせを行う
- 建物を画面に映し、画面をタップすることでUnity の Raycastを飛ばす
- PLATEAUモデルにRaycastをあてることで衝突判定をとり、どのPLATEAUモデルを入手するのかを判定する
- 衝突判定で判明したPLATEAUモデルをプレハブ化し、画面遷移で消えないオブジェクトとして保存する
- 具体的なPLATEAUモデルの詳細(建物の名前など)は、CityGML形式から取得する
2. 仮想空間画面(モデル配置画面)
- 入手したモデルは画面下のモデルメニューに一覧表示される
- 配置したいモデルをメニューから選択(メニューのモデル表示をタップ)し、画面上のタイルを選択(タイルをタップ)することでモデルを配置することができる
- 画面には「ARボタン」と「Photonボタン」が存在する
- 「ARボタン」を押すと「AR表示画面(現実空間に仮想空間表示画面)」に遷移する
- 「Photonボタン」を押すと「仮想空間共有画面」に遷移する
3. AR表示画面(現実空間に仮想空間表示画面)
- AR Foundation, AR Kit を用いて、AR機能を実装
- 画面をタップすると平面を検出し、仮想空間画面(モデル配置画面)で設置したモデルの配置のまま、その平面に出現する
- モデル自体は移動しないため、スマホを動かすことで360°どの方向からも配置したモデルを見ることができる
4. 仮想空間共有画面
- Photonを用いて実装した
- ホストとゲストに分かれており、ホストが用意した仮想空間に入ることになる
- この仮想空間も仮想空間画面(モデル配置画面)で設置したモデルの配置のままのものになる
- ゲストはホストの仮想空間に入り、自由に動くことができる
テクニカルサポート企業による選出により受賞