Ein SDK für Spiele-Engines SDK ist ArcGIS Maps SDK for Unity und ArcGIS Maps SDK for Unreal Engine wurden jeweils im6. Monat und im7. Monat in den USA von der Firma Esri veröffentlicht.Seit 2019 wurde mit der Entwicklung des SDK begonnen, 2021 gab es eine Vorabversion und schließlich die offizielle Veröffentlichung.Im Jahr 2021 wurde die finale Version veröffentlicht.
Wir haben das SDK bereits in Blogartikeln vorgestellt, aber mit der offiziellen Veröffentlichung möchten wir in diesem Blogbeitrag die Hauptfunktionen des SDK sowie die Integration mit ArcGIS vorstellen.
Frühere Artikel zur Vorstellung des SDK:
Bitte beachten Sie, dass das ArcGIS Map SDK for Unity/Unreal Engine derzeit kein unterstütztes Produkt bei ESRI Japan ist.
Basiskarten/Höhendaten
, ArcGIS Online stellt globale Satellitenbilder und Höhendaten bereit, die über das SDK auch in Unity/Unreal Engine genutzt werden können. Für die Verwendung dieser Kartendaten ist keine Programmierung erforderlich. Im Editor genügt es, die URLs der Webdienste für Kartendaten einzustellen, um einfach reale Kontexte und Gelände im Spiel-Engine darzustellen.
Seit der offiziellen Veröffentlichung ist es erforderlich, bei der Nutzung der Basiskarten und Höhendaten von Esri auf ArcGIS Online einen API-Schlüssel. (Für den Erhalt eines API-Schlüssels wird ein Entwicklerkonto benötigt.) Die kostenlose Nutzung (für Basiskarten z.B. bis zu 2.000.000 Kacheln pro Monat) ist möglich; darüber hinaus ist ein nutzungsabhängiger Plan erforderlich. Für Evaluierungs- und Entwicklungszwecke reicht jedoch meist das kostenlose Kontingent aus.
Daten von ArcGIS/Layer-Integration
, neben Basiskarten und Höhendaten können mit dem SDK , eigene Daten und Layer, die in ArcGIS geteilt werden, durch Angabe einer URL oder eines Pfads einfach angezeigt werden (in Unity/Unreal Engine).Unity/Unreal Engine.
3D Mesh Scene Layer3D Mesh Scene Layer
, kombiniert Drohnenaufnahmen mit Oberflächenmodellen und integriert viele Strukturen wie Gebäude, Straßen, Bäume und Flüsse auf Stadtebene zu einer zusammenhängenden Oberfläche. Es ist der optimale Layer zur Darstellung ganzer Stadtstrukturen in 3D. Durch die Nutzung von in ArcGIS erstellten und geteilten 3D Mesh Scene Layern kann eine realistischere Stadtvisualisierung erreicht werden.einen zusammenhängenden Oberflächenlayer.. Für die Darstellung ganzer Stadtstrukturen in 3D ist dies der ideale Layer.3D. Dieser in ArcGIS erstellte und geteilte 3D Mesh Scene Layer ermöglicht eine realitätsnahe Stadtvisualisierung... Mit dem in ArcGIS erstellten und geteilten 3D Mesh Scene Layer kann man realistischere Städte darstellen...
「Arakawa Digital Twin online - 荒川 3D 河川管内図」で公開されている3D メッシュ シーン レイヤーをゲームエンジンで表示
3D オブジェクト シーン レイヤー
3D オブジェクト シーン レイヤーは建物や樹木等の個々の構造物を個別に管理し、テクスチャを含む複雑な 3D 表現と、個々の構造物に紐づく属性情報を含んでいます。属性情報は、そのオブジェクトをリアルタイムにどのように表示するかを決めるためにも使用できます。下図では、PLATEAU で整備されている 3D 都市モデルのデータを ArcGIS Online で公開・共有した 3D オブジェクト シーン レイヤーを表示しています。左図ではテクスチャを含むデータを表示しており、右図では商業地域(「地域地区」の属性フィールドの値を参照)にある建物を青色で表示しています。
これらの他にも 2D の画像タイルのデータも表示できます。また、これらのデータ/レイヤーはオンライン/オフラインの両方で使用できます。
グローバルモードとローカルモード
地図の表示方法は、「グローバル」モードと、「ローカル」モードの 2 種類があります(Unity/Unreal Engine)。グローバルでは、世界全体にまたがるデータを表示するのに使用でき、ズームアウトして地球の球体を見ることができます。ローカルでは、より小さな範囲でデータを表示することができ、円形または四角形の任意の範囲で表示範囲をクリップできます。
メッシュ コライダー
SDK で追加する ArcGIS のデータ/レイヤーはメッシュ コライダー(Unity/Unreal Engine)を有効化できます。可視領域の判定、移動先の判定、クリック操作によるオブジェクトの識別等にそれが必要となる場合があります。下図では2つのオブジェクト間の見通し線を表示しています。緑色の線分はオブジェクト同士が見通せることを示し、赤色の線分は建物等の遮蔽物によりオブジェクト同士が見通せないことを示しています。
ゲームオブジェクト/アクタとの連携
過去のブログ記事でも紹介しましたが、ゲームオブジェクト/アクタに ArcGIS Location Component(Unity/Unreal Engine)を追加して地図上の指定した座標位置に表示できます。表示位置は API 等を使用して、リアルタイムに更新できます。
このサンプルでは、GameAnime の Simple Drone アセットを使用しています。
下記では、ゲームオブジェクト/アクタと ArcGIS の地図機能の連携例を紹介します。
ルート検索
ArcGIS ではグローバルな道路データを提供しており、指定した地点のルート検索が行えます。下記では、REST API でルート検索した結果の情報を ArcGIS Location Component を使用してゲームオブジェクト/アクタとして、ゲームエンジン上に表示しています。
2D データの可視化
ArcGIS には自身の持つ 2D の位置情報付きのデータを管理するためにフィーチャ レイヤーという機能があります。ルート検索と同じ仕組みですが、このフィーチャ レイヤーから REST API を介してオブジェクトの座標を取得し、ArcGIS Location Component を設定したゲームオブジェクト/アクタを作成できます。下図では、日本の空港の座標と空港名の属性データをフィーチャ レイヤーに格納し、REST API を介してそのオブジェクトを取得し、アセットにArcGIS Location Component を設定してゲームエンジン上で表示しています。
このサンプルでは、Alstra Infinite の Planes & Choppers – PolyPack アセットを使用しています。
紹介した各機能の実装方法は SDK に含まれるサンプルや GitHub に公開されているサンプル(Unity/Unreal Engine)を参考にできます。
SDKのダウンロード
正式版の SDK は ArcGIS Developers サイトからダウンロード(Unity/Unreal Engine)できます。SDK のダウンロード、開発、評価は無償で行えます。無償の ArcGIS 開発者アカウントまたは ArcGIS Online アカウントを使用して、ArcGIS Developers サイトにサインインして SDK をダウンロードしてください。SDK の使い方は、ドキュメント(Unity/Unreal Engine)をご覧ください。
また、Esri Community サイトで、SDK に関する質問を投稿したり他の開発者の質問やその回答を確認したりできます。ベータ版の時にお使いいただいていたベータ サイトは近くに使用できなくなるため、今後は上記の Esri Community をご利用ください。
さいごに
正式リリースされましたが、これからのバージョンアップでは、ベクター タイル レイヤー、点群シーン レイヤー、フィーチャ レイヤー、ジオコーディング、ルーティング、その他の分析ツールなど、豊富な機能が追加されていく予定です。ご期待ください。
既にゲームエンジンを利用されている方もこれからはじめる方も、ぜひ ArcGIS をご活用ください。
関連リンク