Github: https://github.com/mhama/GeoTileLoader
Unity3D向けの、Cesium 3D Tiles 形式のデータをロード・表示するライブラリです。Cesium for Unity と異なり、C#とglTFastパッケージを利用して作成されており、Webブラウザ向け(WebGLビルド)でも利用できます。
主に Google Photorealistic 3D Tiles と PLATEAU Streaming のデータでテストされています。
This is a library for Unity3D to load/display Cesium 3D Tiles format data. As this library consists of C# and glTFast library, it can build to WebBrowser(WebGL).
This library is tested mainly with Google Photorealistic 3D Tiles and PLATEAU Streaming.
※ このライブラリは開発の初期段階のため、十分な利便性を提供しない可能性があります。
https://geotileloader-sample2024.netlify.app/
APIの呼び出し制限があるため、3Dマップが読み込めない場合は時間をおいてお試しください。
As there’s rate limit to the api, please try again later if you encounter troubles to load 3d map.
Unity 2022.3.x (Maybe Unity 2021 is also ok)
Google Photorealistic 3D Tilesを利用する場合
以下のあたりのドキュメントを参照して、Google APIのAPIキーを用意してください。 https://developers.google.com/maps/documentation/tile/cloud-setup
Assets/GeoTileLoader/GeoTileLoaderSettingsForGoogle.asset のインスペクタで、Google Api Key For 3D Map Tiles
欄にGoogle APIキーを設定してください。
Assets/GeoTileLoader/Samples/Google3DMapTiles シーンを開いてください。
PLAY後、Load Hierarchy
ボタンを押すとデータ構造が読み込まれ、Load 3D Models
ボタンを押すとモデルが表示されます。
Load Hierarchy
ボタンを押したときに 403 Forbidden
のような表示が出る場合は、APIキーに問題がある可能性があります。以下を確認してください。
Assets/GeoTileLoader/Samples/PlateauStreamingSample シーンを開いてください。
PLAY後、Load Hierarchy
ボタンを押すとデータ構造が読み込まれ、Load 3D Models
ボタンを押すとモデルが表示されます。
Tile Set Manager
GameObjectのインスペクターの Plateau Data Selector
コンポーネントのUIからデータセットを選択することができます。Regionで都道府県を選択し、その後データセットを選択できます。データセットを選択すると、Tile Set Manager
の Tile Set Json Url
および Tile Set Title
のフィールドに反映されます。
データセットを選択した後、表示範囲を調整する必要があります。
表示したい範囲の中心の緯度・経度を、ブラウザ上のGoogle Mapを右クリックするなどして取得してください。デフォルトのままでは何も表示されない可能性があります。
緯度、経度および、表示半径を Tile Set Manager
の Culling Info
にセットしてください。
表示半径は、現状の実装では高さ方向も制約するため、表示半径は1000(メートル)やそれ以上を推奨します。
PLAY後、Load Hierarchy
ボタンを押すとデータ構造が読み込まれ、Load 3D Models
ボタンを押すとモデルが表示されます。
WebPエンコーディング
を利用していますが、本ライブラリで利用している glTFast
パッケージがこれに対応していないためです。Tile Set Json Url
にセットするなどしてください。