Twitterで割とバズっていたように見える「Geospatial Creator for Unity」を使ってみます
利用には「Unity 2021.3」以降のバージョンが必要になります
環境は以下の通り
・Windows11
・Unity 2022.2.19f1
Geospatial Creator for Unityのドキュメントはこちら
早速やってみる
UnityHubから新規でプロジェクトを作成します
今回は以下の設定で作成しました
ARCore Extensionsを導入します
メニューのWindows > Package Managerを選択します
以下のようなダイアログが表示されます
ARCore ExtensiosをGitから導入します
google-ar/arcore-unity-extensions: Google ARCore Extensions for Unity’s AR Foundation (github.com)
上記URLを開き、以下のメニューからURLをコピーしておきます
Package Managerダイアログの左上+ボタンをクリックし、コピーしたGitのURLを、以下に貼り付けてパッケージを導入します
インポートの途中でエディタの再起動を促されるため、Yesを選択します
導入が終了すると、ARCore Extensionsがパッケージに追加されています
パッケージを選択し、Samplesタブから Geospatial SampleをImportしておきます
メニューの File > Build SettingsからプラットフォームをAndroidに変更しておきます
現在、Geospatial CreatorはAndroid、またはiOSのサポートとなるようです
Cesium for Unityを導入します
tgz形式のファイルを取得し、Package Managerから導入します
tgzファイルは以下のURLから取得してください
https://github.com/CesiumGS/cesium-unity/releases/tag/v1.2.0
※この記事を投稿した時の最新版は1.2.0でした。利用時は最新版を利用してください
Package Manager左上の+ボタンから「Add package from tarball…」を選択し、先ほどダウンロードしたtgzファイルを選択します
導入が終わると、以下のような画面になります
APIの利用設定を行います
メニューのEdit > Project Settings を選択します
以下のように項目を設定します
Geospatial Creatorにチェックをつけると、依存関係のチェックが行われます
依存関係に問題がなければFinishが表示されるのでクリックします。ダイアログが閉じると同時にGeospatial Creatorのチェックぼっくにチェックが入ります
Geospatialのサンプルシーンを開きます
ProjectビューからAssets > Samples > ARCore Extensions > 1.37.0 > Geospatial Sample > Scenes > Geospatial を開きます
以下のようなシーンが開くと思います
Hierarchyビューで右クリックを行い、 XR > AR Geospatial Creator Origin を選択し、オブジェクトを追加します
追加したオブジェクトを選択し、「Add Cesium Georeference Component」をクリックします
コンポーネントが追加されます
Google Map Tiles APIのAPIキーを取得します
APIを有効にするには、以下の記事の「APIの承認」を参考にして設定を行ってください
Unity で地理空間クリエイターを使ってみる | ARCore | Google Developers
取得したAPIキーを Google Map Tiles API Key の項目に貼り付けます
設定に問題がなければ、APIキーを入力して別項目にフォーカスを移したタイミングで3D地図が表示されるようになります
以上で設定は終了です。お疲れさまでした!
おまけ:東京スカイツリーを表示してみる
AR Geospatial Creator Originのゲームオブジェクトのパラメータを変更して、東京スカイツリーを表示してみます
東京スカイツリーの緯度経度は以下になります
緯度:Lat=35.710057714926265 軽度:Lng=139.81071829999996
参考:https://can-chan.com/map/xhr-requests.html
ただ、この状態でエディタのプレイボタンをクリックすると、地図がすべて消滅するという事象が発生しました
この原因については後日調べてみる予定です
利用料金に注意!
https://mapsplatform.google.com/intl/ja/pricing/
Google Map Platformは1か月あたり$200の無料利用枠があるようです
今回利用した Map Tiles APIはGoogle Map Platformの一部ですので、使いすぎると料金が発生する可能性があります
この辺り、仕組みや規約をいったん確認したうえでの利用をお勧めします
終わりに
Geospatial Creator for Unityを利用してみたという記事でした
プラットフォームが限られていたり、エディタで再生すると地図が消えたりと、少し挙動がつかみきれない部分がありますが、3D地図が手軽に表示できるという部分でいろいろな可能性を感じます
さすがに建物の近くに寄っていしまうと、いろいろ荒い部分が目立ってしまうため、背景などに利用するのがよさそうですね
フライトシミュレータとか、レースゲームなどと相性がよさそうな気がします