こちらの動画を参考しながら行ったハンズオンのログです。
(というか、ほぼ翻訳というか、書き起こしというか・・・)
▼公式のURL/ガイド等
Cesium for Unreal Quickstart
https://cesium.com/learn/unreal/unreal-quickstart/
Google Map Platfrom:フォトリアリスティック 3D タイルの概要
https://developers.google.com/maps/documentation/tile/3d-tiles-overview?hl=ja
まず、UE側の準備
おそらく、UE側より先にGoogle Cloud Platform / Map APIの方を先にやる方が良い気がするけど、動画の通りの流れで書きます。
1 )Pluginを用意する
UEのマーケットプレイスから以下を入手。
検索:Cesium for Unreal(無料)
入手したら、【エンジンにインストール】する。
2 ) プロジェクトを作成
Games : Blank
とりあえずいつも通りプロジェクトを作成。
※モバイル版を作る場合は以下に注意
Target Platform : Mobile / Tablet
Quality Preset: 任意
Starter Content: なし
3 ) Pluginを有効化する
再起動する。
(下手すると、シェーダーコンパイル等で30分ほどかかる可能性あり)
4 ) プロジェクトを開く
ここまで正しく進んでいれば、左に「Cesium」というパネルが現れ、専用のActorが選べるようになっている。
5 ) Levelを作成
【File】> 【New Level】> 「Empty Level」を選択(+Map保存)
6 ) CesiumのActorを追加
現れた「Cesium」のパネルから以下を追加
Cesium SunSky
Dynamic Pwn
Blank 3D Tiles Tileset
続いて、GoogleのMap APIでAPI Keyをもらいに行く
「GCP」などと検索するとGoogle Cloud Platformの公式ページがヒットします。
Gmailを利用中(ログインしたまま)の状態等であれば、Googleのアカウントに紐づいた状態で以下の画面が開きます。
※GCPを初めて利用する・ログインしていない状態からスタートの場合は、別途GCPについて調べていただくことを推奨します。
▼ 「コンソールへ移動」し、左肩の「Google Cloud」のロゴの右横にある選択ボックスの「▼」をクリック。
「新しいプロジェクト」を作成。
▼ プロジェクト名は任意の文字列で。
(私は「CesiumForUnreal」等としてみました)
「場所」も適宜選択(私はそのまま「組織なし」を選択)
▼ 画面上の検索ボックスにて「map tiles api」と検索すると、候補が出て来るのでクリック。
▼作成したプロジェクトにて、この「Map Tiles API」を有効化する。
▼すると、Google Maps Platformを利用するためのAPI Keyが表示されます。
このKeyを確保。
青いボタン「GOOGLE MAPS PLATFORMへ移動」を押す。
※このKeyは大切なものです。無断で利用されないように管理してください。
▼ 今回は「検証」としての利用なので、キーの保護は「後で」とします。
ただし、本番利用する場合などは正しく設定するようにすること。
(「使われまくって無料枠を飛び出て課金される」等の懸念があり得ます)
▼ 生成したAPI KEYは、ここから確認・再表示可能。
API Keyを持って、UEへ戻る
7 ) Actor「Cesium 3D Tiles Tileset」のDetailsにて
Source: 「From URL」を選択
URL:以下のURLと、取得したAPI Keyを結合したものを入力
https://tile.googleapis.com/v1/3dtiles/root.json?key=MAPSAPIKEY
8 ) Detailsパネル上部にある「Refresh Tileset」をクリック
上手く設定できていれば、これでGoogle Mapsを利用したTerrainが出来上がる。
操作方法はいつも通り。
9 )おまけ:私を●●へ連れてって!
Actor「Cesium3DTiles Tileset」の以下の2つを設定する
GeoReference:CesiumGeoreferenceにする
Credit System:CesiumCreditSystemにする
Actor「CesiumGeoreference」で「緯度」「経度」「高さ」を入力すると、そこを参照してくれるようになる。
※座標はGoogle Map等で取得(目標地点上で右クリックすると現れます)
「座標いれてみたけど真っ暗なんだけど!」
Actor「CesiumSunSky」の「▼Date and Time > Time Zone」の値を変えてみてください。
例えば、東京なら「-9(時間)」
すると。例えば以下だと、
【Original Latitude】35.658612072729426
【Original Longitude】139.74546844124637
付けたし
なお、PIEで再生しようとすると設定した緯度経度から始まってくれず、コントロールも制御がおかしくなってしまう点については手元では原因不明+ゆっくり調べ中です。。