夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

Microsoft Map-SDK for Unityを使用する その3 HudExample

本日はツールの調査枠です。

MicrosoftからはMixedRealityToolkit以外にも多くの開発者向けのSDKが公開されています。

 その一例として[Microsoft Map-SDK for Unity(以下Map-SDK)]を調査しています。

 前回はMap-SDKを導入しました。

redhologerbera.hatenablog.com

〇Exampleを読み解く

Map-SDKにはExamplesとしてサンプルシーンが同梱されており、Map-SDKを用いたデモを体験できます。

f:id:Holomoto-Sumire:20200830164000j:plain

各シーンごとに[Map]オブジェクト内の[Map Session]コンポーネントの[Developer Key]を入力する必要があります。

この[Developer Key]はその1の導入の記事で紹介しています。

redhologerbera.hatenablog.com

前回の記事では[City Tour]を見ていきました。

redhologerbera.hatenablog.com

[City Tour]では立体的なマップを使ってシアトルの各所を巡る旅を体験できます。

今回は[HubExample]を調査します。

〇HudExample

f:id:Holomoto-Sumire:20200831085040j:plain

シーンには説明パネル、マップ、ラジオボタンがあります。

マップではデフォルトで北アメリカ全体が表示されており、マップの右のラジオボタンで表示する地域を指定します。

f:id:Holomoto-Sumire:20200831085558j:plain

[NorthAmerica],[Alaska],[Caribbean],[Great Lakes],[Hawaii]の値域が選択できます。

マップ下部には航空写真、地図の切り替えスイッチ、気象情報の表示の切り替えのスイッチがあります。

f:id:Holomoto-Sumire:20200831085910j:plain

Map-SDKでは気象情報も取得できるようです。

・NorthAmerica

f:id:Holomoto-Sumire:20200831090231j:plain

・Alaska

f:id:Holomoto-Sumire:20200831090305j:plain

アラスカの地域を表示します。

・Caribbean

f:id:Holomoto-Sumire:20200831090342j:plain

キューバなどカリブ海付近を表示します。

・Great Lakes

f:id:Holomoto-Sumire:20200831090419j:plain

アメリカの五大湖付近の値域を表示します。

・Hawaii

f:id:Holomoto-Sumire:20200831090451j:plain

ハワイの地域を表示します。

〇航空写真、地図の切り替え

 f:id:Holomoto-Sumire:20200831085910j:plain

 マップ下部のスイッチを切り替えると航空写真に地図が切り替わります。

 f:id:Holomoto-Sumire:20200831091959g:plain

 トグルには[OnClick()]のイベントとして[ToggleImageryType.Toggle]を実行します。

f:id:Holomoto-Sumire:20200831092713j:plain

 ToggleImageryType.Toggleは次のようになっています。

    public void Toggle()
    {
        var existingLayer = GetComponent<HttpTextureTileLayer>();
        existingLayer.enabled = !existingLayer.enabled;
    }

HttpTextureTileLayerをアクティブにしています。

HttpTextureTileLayer

github.com

これは[MapRenerer]の[Tile Layers]の[Http Texture Tile Layer]のチェックボックスを切り替えます。

f:id:Holomoto-Sumire:20200831093506j:plain

〇気象データ

気象データの表示を切り替えるチェックボックスには[OnClick()]のイベントとして[Map.ToggleWeatherLayer.Toggle]の関数を実行します。

f:id:Holomoto-Sumire:20200831092133j:plain

f:id:Holomoto-Sumire:20200831092240j:plain

[ToggleWeatherLayer]コンポーネントは表示する地図に気象情報を追加します。

〇地図のスクロール

f:id:Holomoto-Sumire:20200831091314g:plain

[HubExample]ではジェスチャーを用いて地図をスクロールすることができます。

これは[Map]オブジェクトに[MapInteractionHandler]コンポーネントアタッチされていることで可能になっています。

f:id:Holomoto-Sumire:20200831091535j:plain