出典: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 キーで左右前後に移動します。マウスの左ボタンでシーンをパン、右ボタンでオービット、スクロールホイールで拡大・縮小します。