Actualización: ArcGIS Maps SDK para Unity y ArcGIS Maps SDK para Unreal Engine fueron lanzados por Esri en EE.UU. en junio/julio de 2022. Para más detalles,aquípuede consultar el artículo.
Anteriormente, en el artículo del blog "¿Manejar la Tierra dentro de Unreal Engine y Unity?" presentamos un resumen del SDK para motores de juego llamado ArcGIS Maps SDK para Unity/Unreal Engine.
En este artículo, explicaremos cómo usar el SDK y mostraremos lo que se puede hacer con el ArcGIS Maps SDK.
Configuración
Primero, instale el plugin dedicado. Aquí mostramos los pasos para Unity.Para Unreal Engine, consulte la documentación (en inglés) a continuación.ArcGIS Maps SDK para Unreal Engine: Añadir el plugin a un nuevo proyecto:
https://developers.arcgis.com/unreal-engine-sdk/install-and-set-up/add-the-plugin-to-a-new-project/
・Descarga del plugin
Actualmente, el
ArcGIS Maps SDK está disponible en versión beta; cualquiera puede crear una cuenta (gratuita) y obtenerlo participando en el programa beta del ArcGIS Maps SDK.
Al participar en el programa beta, puede descargar los plugins para Unity y Unreal Engine.Se puede descargar un archivo Zip que debe descomprimir en la ubicación deseada.
・Instalación del plugin
Cree un proyecto con
Unity usando High Definition Render Pipeline o Universal Render Pipeline. Aquí usamos High Definition Render Pipeline.
[Play] ボタンで再生すると、デフォルトで設定されているニューヨークの地図と建物データが表示されます。
SDK の設定
Hierarchy ウィンドウで PrefabScene_NY を選択し、Inspector ウィンドウで表示する地図データ等の設定をします。
・カメラ位置の設定
[CAMERA LOCATION] で初期表示位置を設定できます。緯度(Latitude)、経度(Longitude)、高度(Altitude)を指定します。
・背景地図の設定
[BASE MAP] で表示する地図を選択できます。道路地図(Streets)や衛星画像(Imagery)等、いくつかの種類が用意されています。また、[Terrain Elevation] を選択すると標高データを読み込んで、地形を表現することもできます。
ここでは [CAMERA LOCATION] で富士山が表示されるように緯度・経度・高度(Latitude: 35.300626、Longitude : 138.627363、Altitude: 5000)と、背景地図に衛星画像(Select Base Map: Imagery)、[Terrain Elevation] を有効に設定して再生した状態です。
[VIEW MODE] では Global Scene と Local Scene のいずれかを選択できます。Global Scene を選択すると地球が球体で表示され、Local Scene を選択すると地球が平面で表示されます。
左が Global Scene、右が Local Scene
・3D データの表示
Web 上の URL またはローカルファイルを指定して、位置情報を持った独自の 3D データを表示できます。これには ArcGIS Online や ArcGIS Pro 等のソフトウェアが別途必要になります。サンプルの PrefabScene にはデフォルトで ArcGIS Online で公開されているサンプルのニューヨークの建物の 3D データが表示されています。
3D データを追加するには、[ADD DATA] で URL を指定するか、ローカルにあるファイルを参照します。
下記は、国土交通省が進める 3D 都市モデル整備・活用・オープンデータ化のプロジェクトである PLATEAU で整備されている 3D 都市モデル(東京都23区)を ArcGIS Online で公開し、その Web サービスを表示している状態です。
実際に試す場合は、[ADD DATA] の URL にWeb サービスのレイヤーの URL を設定します。
Tips:
PLATEAU の 3D都市モデルは CityGML の形式で公開されていますが、ArcGIS で利用可能な形式(ファイル ジオデータベース)へ変換するツールが GitHub で公開されています。変換したファイル ジオデータベースは ArcGIS Pro のツールを使用してArcGIS Online 上に Web サービスとして公開できます。Web サービスは 3D データを高速に表示可能なシーンレイヤーという形式で公開されます。Web サービスとして表示するため、OBJ や FBX 形式等に変換してローカルデータを表示するのに比べて管理も容易です。
・Unity の 3D オブジェクトを地図上に表示
次に Unity の 3D オブジェクトを地図上に追加してみます。
ファイル メニューで、[GameObject] → [3D Object] → [Cube] を選択します。Inspectorウィンドウで [Add Component] → [Scripts] → [ArcGISMapsSDK.Components] →[ArcGIS Location Component] を選択します。
ここでカメラの初期表示位置の時と同様に、3D オブジェクトを表示する位置(緯度、経度、高度)を設定します。下記は新宿駅付近に Cube オブジェクトを表示した状態です。
本記事で設定した項目は API を使用しても設定できます。SDK は現在ベータ版で機能も限られていますが、今後のリリースでは、ArcGIS で管理する位置情報を持った地物にアクセスして属性情報を取得するような機能もサポートされる予定です。
SDK の詳細は下記ドキュメントで紹介されています。
プレリリースは夏頃、正式リリースは 2021 年内に予定されています。2021 年 9 月にプレリリース版(Unity/Unreal Engine)がリリースされています。正式リリースは 2022 年 Q1 に予定されています。新しいリリース情報は、またブログ記事で紹介していきたいと思います。
2022年6月(Unity)/7月(Unreal Engine)に正式リリースされました。詳細はこちらの記事をご覧ください。
※ ArcGIS Maps SDK for Unity/Unreal Engine はベータ プログラムとして米国Esri社が提供しているものであり、ESRIジャパンにおける製品保守サポート等の対象外です。ご質問やご不明点はベータ プログラム ページの User Forums から直接お問い合わせをお願いいたします。
■関連リンク