Open3
Cesium for UnityでGoogle Tiles APIを読み込む

これは何?
Cesium for Unityと呼ばれる,3D地図ロードライブラリがある.これを使って,Google Tiles APIからUnityに任意の緯度・経度の3D地図をロードする手順について書く.
環境
Unity 2022.3.52f1
Cesium for Unity 1.16.0
前提
Unityのプロジェクト作るとかそこら辺は省略.

Cesium for UnityをPackage Managerで導入する
Cesium for UnityはUnity公式のAssetじゃないので,まず参照を張る必要がある.
- Edit > Project Settings > Package Managerを開きます
- Scoped Registryに、次のようなレジストリを追加します
- Name: Cesium
- URL: https://unity.pkg.cesium.com
- Scope(s): com.cesium.unity
以上を入力したらSaveを押します.
次に,Package ManagerからCesium for Unityを導入する.
- Window > Package Managerを開く
- 上のバーの,"Packages: In Project"となってるプルダウンメニューをクリックして,"My Registries"へ
- Cesium for Unityが見えてるはずなので,Install

APIキーの取得と有効化
このステップはもし既存のAPIキー等が指定されていればスキップ可能
- Google Cloud Platformで適当にプロジェクトを作る
2.3D Tiles APIをプロジェクト内で有効にする - 認証情報ページに移動し,認証情報を作成>APIキーの順に押す
- APIキーが生成されるのでコピーする
Google Tiles APIから3D地図を呼ぶ
ここまで来たら導入作業は完了.
次に,実際にシーンに3D地図を表示させる.
- まず,Cesiumを導入すると上のツールバー(File, Edit, ...)とかなってるところにCesiumが出てるはずなので,Cesium > Cesiumをクリック
- InspectorとかどこかにCesiumタブが出現するので,そこの"Quick Add Basic Assets"から"Blank 3D Tiles Tileset"をクリック
- するとSceneに"CesiumGeoreference"というオブジェクトが出現する.これを開いて,子オブジェクトの"Cesium3DTileset"を選択し,Inspectorを開く.
- Cesium 3D Tilesetコンポーネントの,"Source"にあるTileset Sourceを"From Url"に
- URLに
https://tile.googleapis.com/v1/3dtiles/root.json?key={自分のAPIキー}
を入力.するとなんか3Dマップがロードされてくるはず. - 一つ上の階層の"CesiumGeoreference"のCesium Georeferenceコンポーネントの"Origin"にある"Latitude", "Longitude"に好きな場所の緯度・経度を入力.するとタイルがロードされる.
- デフォルトだと"Height"がなんか高すぎるので,よしなに調整して見やすくする
これで3Dマップがロードできたので,あとはよしなにやる