Open6
Geospatial Creatorの構築手順備忘録
前提
こちらから構築されたGeospatial APIの環境が整っている前提での記事になります
環境
Unity 2022.3.5f1
AR Foundation 5.0.7
ARCore Extentions 1.39.0
Android(Pixel 6で実機動作確認)
そもそもGeospatial Creatorってなによ
Geospatial APIの拡張
Geospatial APIでは自分でカチカチコンテンツごとに緯度経度を調べて配置していかないといけなかったのに対して、Geospatial CreatorではCesiumとGoogle Maps APIの一機能であるTiles APIを用いてUnityのシーン上に地図と地形モデルを引っ張ってきて、その上にGameObjectを配置することでMRコンテンツを作成できるようになる。すごいね!
Google Cloud上でTiles APIを有効にする
- まず、Geospatial API構築時にARCoreのAPIキーをとってきたプロジェクトをGoogle Cloud Platformで開きます。
- 3D Tiles APIを有効にします
必要なパッケージのインポート
Geospatial APIが動いているプロジェクトを開きます。
まず、Cesiumをレジストリに追加します。
- Project Settings > Package Managerを開きます
- Scoped Registryに、次のようなレジストリを追加します
- Name: Cesium
- URL: https://unity.pkg.cesium.com
- Scope(s): com.cesium.unity
以上を入力したらSaveを押します
次に、必要なパッケージを入れていきます
- Unity RegistryからShader Graphをインストールします
- My RegistryからCesium for Unity 1.4.0をインストールします
- Version Historyから過去のバージョンをインストールできます
プロジェクトでGeospatial Creatorを有効化する
Project Settings > XR Plug-in Management > ARCore Extensionsより、Geospatial Creatorにチェックを入れる
セットアップが走るので、Finishになっていたら準備完了(なにかパッケージが足りていないとここで怒られる)
地図を表示する
- HierarchyビューでCreate > XR > Geospatial Creator Originを作成
- InspectorでAdd Cesium Georeference Componentをクリック
- InspectorでAR Geospatial Creator Origin > Google Tiles API KeyにAPIキーを入れる(これはProject Settings > XR Plug-in Management > ARCore ExtentionsのAndroid API Keyに設定されているものと同じでOK)
- デフォルトだと謎の山の座標になっているので、好きな場所の緯度経度を入力すると地形情報が読み込まれる
- いいかんじにHeightを調整する
オブジェクトを配置する
- 地図上の好きなところにオブジェクトを配置する
- Add ComponentからAR Geospatial Creator Anchorをアタッチする
- Altitudeは好きなように設定
- Manual : 自分で高さを設定する。間違えると浮く。
- Terrein : 地形を参照し、地面に置く。精度が低いところだと挙動不審になる。
- Rooftop:建造物?を参照して天井においてくれる。同じく精度が低いと挙動不審になる。詳しくは公式のものを参照
ビルド
ビルドする。コーディングは必要ないのがこれのいいところ。