Skip to content

mhama/GeoTileLoader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

About GeoTileLoader

Unity3D向けの、Cesium 3D Tiles 形式のデータをロード・表示するライブラリです。Cesium for Unity と異なり、C#とglTFastパッケージを利用して作成されており、WebGLビルドでも利用できます。

主に Google Photorealistic 3D TilesPLATEAU Streaming のデータでテストされています。

※ このライブラリは開発の初期段階のため、十分な利便性を提供しない可能性があります。

Requirements

Unity 2022.3.x (Maybe Unity 2021 is also ok)

Google Photorealistic 3D Tilesを利用する場合

  • 課金が有効なGoogle Cloud アカウント
  • Google API Consoleにて、Map Tiles APIが有効な状態で発行された Google APIのキー

How to install

  • Install UniTask

    • On Package Manager window, click '+' icon on upper-left corner
    • click Add package from git URL....
    • Then, input this URL and click Add.
    https://github.com/Cysharp/UniTask.git?path=src/UniTask/Assets/Plugins/UniTask#2.5.5
    
  • Install GeoTileLoader

    • Using the same way as above, input this URL and click Add.
    https://github.com/mhama/GeoTileLoader.git?path=Assets/GeoTileLoader
    

How to use (case of Google Photorealistic 3D Tiles)

Preparing API key

以下のあたりのドキュメントを参照して、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キーを設定してください。

Use sample scene

Assets/GeoTileLoader/Samples/Google3DMapTiles シーンを開いてください。 PLAY後、Load Hierarchy ボタンを押すとデータ構造が読み込まれ、Load 3D Models ボタンを押すとモデルが表示されます。

Load Hierarchy ボタンを押したときに 403 Forbidden のような表示が出る場合は、APIキーに問題がある可能性があります。以下を確認してください。

  • Google Cloudの課金設定
  • Map Tiles APIの有効化
  • APIキーの発行

How to use (case of PLATEAU Streming)

Assets/GeoTileLoader/Samples/PlateauStreamingSample シーンを開いてください。 PLAY後、Load Hierarchy ボタンを押すとデータ構造が読み込まれ、Load 3D Models ボタンを押すとモデルが表示されます。

タイルセットを変更する場合

Tile Set Manager GameObjectのインスペクターの Plateau Data Selector コンポーネントのUIからデータセットを選択することができます。Regionで都道府県を選択し、その後データセットを選択できます。データセットを選択すると、Tile Set ManagerTile Set Json Url および Tile Set Title のフィールドに反映されます。

データセットを選択した後、表示範囲を調整する必要があります。

表示したい範囲の中心の緯度・経度を、ブラウザ上のGoogle Mapを右クリックするなどして取得してください。デフォルトのままでは何も表示されない可能性があります。 緯度、経度および、表示半径を Tile Set ManagerCulling Info にセットしてください。 表示半径は、現状の実装では高さ方向も制約するため、表示半径は1000(メートル)やそれ以上を推奨します。

PLAY後、Load Hierarchy ボタンを押すとデータ構造が読み込まれ、Load 3D Models ボタンを押すとモデルが表示されます。

PLATEAUデータセットの注意点

  • 現時点では、テクスチャありのデータセットは利用できません。
    • PLATEAU StreammingのGLTFファイルは、テクスチャの圧縮に WebPエンコーディング を利用していますが、本ライブラリで利用している glTFast パッケージがこれに対応していないためです。
  • 建築物以外のデータはうまく動作するかわかりません。
  • データセット一覧のjsonを同梱していますが、データセットに更新があった場合、リンクが切れる可能性があります。この場合は、PLATEAU StreamingのデータセットのURLを直接 Tile Set Json Url にセットするなどしてください。

About

This is the library to load and display 3D Tiles in Unity 3D.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages