出典:ArcGIS Maps SDK for Unity - Tutorials - Display a map(UI)
Unity の Map Creator UI と High Definition Render Pipeline を使用して、ベースマップ、標高ソースの設定、データ レイヤーの追加、特定エリアの表示方法をご紹介します。
このチュートリアルでは、ベースマップ レイヤー サービスとデータ レイヤーを含むローカル シーンを Unity で作成します。
ArcGIS Map SDK for Unity は、現在 ESRIジャパンにおけるサポート対象外の製品です。
ESRIジャパンで提供するEsri 製品サポート サービスや開発者サポート サービスはご利用いただけませんので、予めご了承ください。
このチュートリアルを実施するには、以下が必要です。
ArcGIS サービスにアクセスするには、ArcGIS Location Platform アカウントまたは ArcGIS Online アカウントと API キーが必要です。アカウントをお持ちでない場合は、サインアップ (無料) してください。アカウントの作成方法は「開発者アカウントの作成」をご覧ください。
API キー ページが開発者ダッシュボードに表示されない場合は、アカウントを ArcGIS Location Platform アカウントにアップグレードする必要があります。
開発環境がシステム要件を満たしていることを確認してください。
インストールとセットアップの手順に従って、プラグインをインストールしてください。必ずサンプル アセットをインポートしてください。
まだ作成されていない場合は、新しい HDRP プロジェクトを作成してください。
Unity のインターフェイスに慣れていない場合は、最も一般的なエディター ウィンドウとそれらを活用するための情報を Unity マニュアル で参照してください。
上部メニューで、[ファイル] > [新しいシーン (File > New Scene)] をクリックし、ポップアップ ウィンドウを開きます。
[Basic Outdoors (HDRP)] テンプレートを選択し、[作成 (Create)] ボタンをクリックします。
上部メニューで、[ArcGIS Maps SDK] > [Map Creator] をクリックします。必要に応じて、Map Creator UI を開いた後にウィンドウ サイズを調整します。
このチュートリアルでは、ローカル シーンを作成し、円形の範囲を設定します。
[Map] タブをクリックし、パネルの内容を表示します。
[Map Type] セクションで [Local] をクリックします。
[Origin Position] セクションでは、GIS シーンの中心を座標とSpatial Reference Well-Known ID (WKID) で設定できます。チュートリアルでは、パラメーターを以下の値に設定します :
spatial reference に関する情報は、spatial references のページを参照してください。
[Enable Map Extent] チェック ボックスをオンにして、[Map Extent] セクションを表示し、マップの範囲をこれらの値に設定します :
ArcGIS Map ゲーム オブジェクトをシーンに追加するには、[Create Map] をクリックします。
以下が、[Map] パネルに入力した画像です。
[ヒエラルキー (Hierarchy)] ウィンドウで、作成された ArcGISMap ゲーム オブジェクトを確認できます。
[ヒエラルキー (Hierarchy)] ウィンドウで ArcGISMap ゲーム オブジェクトをクリックすると、ゲーム オブジェクトに ArcGIS Map コンポーネントがアタッチされていることがわかります。
ArcGIS Map の作成の詳細については、Maps のページを参照してください。
ArcGIS Maps SDK for Unity は、カメラに近いエリアにはより高い解像度の LOD を表示し、カメラから遠いエリアにはより低い解像度の LOD を表示します。
[Camera] タブをクリックする。
[Camera Position] はカメラの初期視点を定義します。パラメーターをこれらの値に設定します :
[Camera Rotation] はカメラの角度を定義します。パラメーターをこれらの値に設定します :
[Create Camera] ボタンをクリックします。
以下が、[Camera] パネルに入力した画像です。
[ヒエラルキー (Hierarchy)] ウィンドウで、Main Camera ゲーム オブジェクトが ArcGISCamera ゲーム オブジェクトに変換され、ArcGISMap ゲーム オブジェクトの下に移動していることがわかります。
ArcGISCamera ゲーム オブジェクトを右クリックし、ポップアップ メニューの [Align View to Selected] を選択すると、Scene ビューのカメラがその位置に移動します。ピッチ、ヘディング、ロールも調整したい場合は、Scene ビューでマウスの右ボタンを押しながら調整してください。
この時点で、追加するベースマップとデータ レイヤーを見るために、[Sky and Fog Volume] の [フォグ (Fog)] を無効にするとよいでしょう。このチュートリアルの最後では、ライティングを調整します。
カメラについての詳細は、Camera のページを参照してください。
このチュートリアルでは、プリセット オプションからベースマップを選択します。
[Basemap] タブをクリックし、パネルの内容を表示します。
プリセットのベースマップ ギャラリーから [Imagery] ベースマップを選択します。
以下が、プリセットからベースマップを [Imagery] に設定した画像です。
前のセクションで選択したプリセット ベースマップには API キーが必要です。
開発者ダッシュボードにアクセスして API キーを取得してください。
[Auth] タブをクリックしてパネルの内容を表示します。
[API Key] セクションで API キーを設定します。
このスクリーンショットで Paste your API key here
と表示されているフィールドに API キーが入力されていることを確認してください。API キーの取得方法については、UI の [API キーの取得] をクリックしてください。
Unity プロジェクト内の複数のシーンに対してグローバル API キーを設定するもう 1 つの方法は、プロジェクト設定です。API キーの詳細については、API キーのセクションを参照してください。
[Basemap] タブに戻ると、以前はグレーアウトしていたベースマップ アイコンが有効になり、API キーが正常に登録されたことがわかります。
この時点で、ローカル エクステントを持つマップデータが表示されるはずです。[シーン (Scene)] ビューに何も表示されない場合は、[ヒエラルキー (Hierarchy)] ウィンドウを開き、[ArcGIS Camera] をダブル クリックしてエディター カメラの位置を移動し、角度を調整してマップを表示します。
[シーン (Scene)] ビューにベースマップが表示されない場合は、[ヒエラルキー (Hierarchy)] ウィンドウで ArcGISCamera ゲーム オブジェクトをダブルクリックして、設定した位置にカメラ ビューを設定し、必要に応じてマウスの右ボタンを押しながらカメラのピッチ、ヘディング、ロールを調整します。
このチュートリアルでは、デフォルトの標高を使って地形を定義します。
[Elevation] タブをクリックし、パネルの内容を表示します。
[Terrain 3D] が選択され、[Enable All] のチェックボックスがチェックされていることを確認します。
以下が、設定した [Elevation] パネルの画像です。
ArcGIS Online から使用できるデータを追加します。
Tokyo Model
ArcGIS 3DObject Scene Layer
https://tiles.arcgis.com/tiles/wlVTGRSYTzAbjjiC/arcgis/rest/services/13100_13201_Tokyo-23ku_Minamiosawa_Building/SceneServer
1.0
以下の手順でレイヤーを追加します。
[Layers] タブをクリックします。
右下の [Add New] ボタンを押して、[Add New Layer] ポップアップ ウィンドウを開きます。
[Type] のドロップダウン リストから適切なレイヤー タイプを選択します。
3D オブジェクト シーン レイヤーを追加するには、サービスの URL を [Source] フィールドに入力します。
[Name] フィールドにレイヤー名を入力します。
[Add] ボタンをクリックして、レイヤーをマップに追加します。レイヤーが追加されると、[Layers] セクションに表示されます。
[Opacity] スライダーを動かすか、[Opacity] フィールドに正確な値を入力して、レイヤーの不透明度を設定します。
以下が、[Layers] パネルの画像です。
Unity には空とライティングのシステムがあります。詳しくは Sky and lighting のページを参照してください。このチュートリアルでは、テンプレートによって追加されたゲーム オブジェクトの設定を調整します。
[ヒエラルキー (Hierarchy)] ウィンドウで、Sun ゲーム オブジェクトをクリックします。
[ヒエラルキー (Hierarchy)] ウィンドウの [トランスフォーム (Transform)] セクションで、回転を以下の値に設定します。
36
110
85
[放出 (Emission)] セクションを開き、[強さ (Intensity)] の値を 10000
に設定します。
以下が、設定した Sun ゲーム オブジェクトの画像です。
[ヒエラルキー (Hierarchy)] ウィンドウの [Sky and Fog Volume] をクリックします。
ArcGIS Maps SDK for Unity には、HDRP 用の Sky and Fog Volume のサンプル プロファイルが用意されています。[インスペクター (Inspector)] ウィンドウの [Volume] セクションで、プロファイル名の横にあるアイコンをクリックします。
ポップアップ ウィンドウで [Sky and Fog Settings SampleScenes Profile] を選択します。
エディター モードが有効になっている間、ビューポート内をナビゲートするために、シーン (Scene) ビューカメラがあります。プレイ モードでは、シーンを探索するためにカメラ コントローラーをアタッチする必要があります。このチュートリアルでは、ArcGIS Maps SDK for Unity のサンプル アセットからコントローラーをアタッチします。
[ヒエラルキー (Hierarchy)] ウィンドウで [ArcGISCamera] をクリックします。
[インスペクター (Inspector)] ウィンドウで、[コンポーネントを追加 (Add Component)] ボタンをクリックします。
[ArcGIS Camera Controller] を検索し、[ArcGISCamera] ゲーム オブジェクトにアタッチします。
Map Creator UI でマップの設定が完了しました。[Toolbar] の [Play] アイコンをクリックすると、[ゲーム (Game)] ビューにマップが表示されます。
WASD キーで左右前後に移動します。マウスの左ボタンでシーンをパン、右ボタンでオービット、スクロール ホイールで拡大・縮小します。