本日はツールの調査記事です。
本日はツールの調査枠です。
MicrosoftからはMixedRealityToolkit以外にも多くの開発者向けのSDKが公開されています。
その一例として[Microsoft Map-SDK for Unity(以下Map-SDK)]を調査しています。
今回はMap-SDKの基礎を調査します。
〇Map-SDKの基礎
・Map-Session

[Map-Session]コンポーネントはMap-SDKのコアなコンポーネントで、ユーザーの資格情報などを提供します。
APIキーに相当する[Developer Key]を記入することでサーバーとの通信を行います。

[Developer Key]の取得にはBing Mapの開発者登録が必要です。
・Show Map Data in Editor

[Show Map Data in Editor]はUnityのエディタ上でマップを表示するかの設定です。 特に問題がない限りオンのままで使用します。
・Autodetect Region
[Autodetect Region]は自動で領域を特定するという意味ですが、よくわかりませんでした。
・Autodetect Language
[Autodetect Language]はユーザーの環境から自動で言語を設定する機能です。

筆者の環境では[日本語]を使用しているため[Japanese]が設定されます。
地図上で住所の表記などでこの設定が影響されますが、問題として使用しているテキストのフォントによっては日本語など対応していない場合があります。
その場合□□□というように文字化けしてしまうのでフォントを変更するか[Autodetect Language]を解除して手動で設定します。


・Language Changed(System Language)イベント
[Language Changed(System Language)]イベントは言語が変更されたときに発火するイベントです。

例えば実機で実行中にユーザーが言語を日本語に変更した場合[あなたの言語は日本語されました]というテキストを表示することができます。
・Map Renderer
[Map Renderer]コンポーネントは地図データのストリーミングと描画を管理するコンポーネントです。
・Latitude Longitude

緯度と経度です。描画する地図の中心の座標を指定します。 緯度と経度が分かれば世界中のどこでも表示することができます。(データがない地点を除き)

・Zoom Level
その名の通り地図の拡大率です。



最小にすると世界規模で表示できます。

細大にすると車の形が識別できるレベルで大きくすることができます。

・Zoom LevelRange
Zoomできる値の値域を設定できます。

・MapShape
[Map Shape]は地図を表示する形を正方形にするかシリンダー(円柱)にするかを選択できます。



・Local Map Radius /Local Base Height

地図のスケールを変更することができます。
・Map Collider Type

[Map Collider Type]は描画する地図の当たり判定です。 MapをGestureで動かしたい、Map自体を動かしたいといった場合必要になります。
無し、ベースのみ、全体の3種類が設定できます。
・Map Terrain Type

描画する際の地形のタイプを選択できます。
[Default]では立体的に建物が描画されます。

[Elevated]は標高データのみで構成され高解像度の3Dモデルは使用されません。

[Flat]は標高データ、3Dモデルどちらも使用されません。 フラットな地図になります。

・Elevation Scale

この値は地形などの立体の倍率です。大きくすると高い構造物はより高く、わずかな高さの差を大きくすることができます。

・CastShadow
影を描画する設定です。

影があることでより建物がリアルになります。
・ReceiveShadow

他のオブジェクトから影を受ける設定です。 例えば雲などを配置すると影ができます。

・Render Clipping Volume wall
マップのベースの設定です。

このチェックボックスをオンにすることで描画領域でくりぬかれた地形を埋めるように描画が行われます。


以上がMap-SDK for Unityの基礎になります。