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じゃないので,まず参照を張る必要がある.

  1. Edit > Project Settings > Package Managerを開きます
  2. Scoped Registryに、次のようなレジストリを追加します

以上を入力したらSaveを押します.
次に,Package ManagerからCesium for Unityを導入する.

  1. Window > Package Managerを開く
  2. 上のバーの,"Packages: In Project"となってるプルダウンメニューをクリックして,"My Registries"へ
  3. Cesium for Unityが見えてるはずなので,Install
だんごだんご

APIキーの取得と有効化

このステップはもし既存のAPIキー等が指定されていればスキップ可能

  1. Google Cloud Platformで適当にプロジェクトを作る
    2.3D Tiles APIをプロジェクト内で有効にする
  2. 認証情報ページに移動し,認証情報を作成>APIキーの順に押す
  3. APIキーが生成されるのでコピーする

Google Tiles APIから3D地図を呼ぶ

ここまで来たら導入作業は完了.
次に,実際にシーンに3D地図を表示させる.

  1. まず,Cesiumを導入すると上のツールバー(File, Edit, ...)とかなってるところにCesiumが出てるはずなので,Cesium > Cesiumをクリック
  2. InspectorとかどこかにCesiumタブが出現するので,そこの"Quick Add Basic Assets"から"Blank 3D Tiles Tileset"をクリック
  3. するとSceneに"CesiumGeoreference"というオブジェクトが出現する.これを開いて,子オブジェクトの"Cesium3DTileset"を選択し,Inspectorを開く.
  4. Cesium 3D Tilesetコンポーネントの,"Source"にあるTileset Sourceを"From Url"に
  5. URLにhttps://tile.googleapis.com/v1/3dtiles/root.json?key={自分のAPIキー}を入力.するとなんか3Dマップがロードされてくるはず.
  6. 一つ上の階層の"CesiumGeoreference"のCesium Georeferenceコンポーネントの"Origin"にある"Latitude", "Longitude"に好きな場所の緯度・経度を入力.するとタイルがロードされる.
  7. デフォルトだと"Height"がなんか高すぎるので,よしなに調整して見やすくする

これで3Dマップがロードできたので,あとはよしなにやる