【Unityメモ書き番外編】現実の地図でMapを作ってみる【Mapbox】

今回はちょっと資料が少なくて
冬月自身が忘れないようにメモっておく回
になります

 

普段より不親切な内容になるとおもうから
もし参考にするならご了承頂きたいわ
急遽出来た内容なので正確さよりも速さを撮った感じね

 

スクリーンショットを参考にしてほしいが
Unityに現実世界の地形を反映させてみる、って言う内容だ
実は1月の終わりから今まで悩んでた内容だったりするぞ

 

そういうことですので
いつもより駆け足な内容になってしまいますが
続きを読むから本編になります

 

今回はMapBoxというAPIをUnityに導入済みを前提にお話します
導入と言っても難しいことはなく、アセットをインポートするだけで完了すると思います
英語のサイトですので、とっつきにくいところはありますが……

 

https://www.mapbox.com/Mapboxのサイト

軽く説明すると
Mapboxのアカウントを作ってキーを作成し、インポートしたUnityにそれを反映させれば
ダミーが動く環境になるわ

 

一つ注意点があって
SQL周りのアセットやDLLを入れていると競合する事があるから
Mapboxか今まで入っていたDLLのどちらかを削除する必要があるってことだな

 

無事、インポートが完了すると
UnityのメニューバーにMapBoxが追加されtるようになります
ここをいじれば簡単?に現実のマップをUnityに組み込む事ができるみたいです

 

と言っても、日本人の冬月にとっては
英語の壁とドキュメントの少なさの壁の両方がそびえ立ってしまいました
ということで、なんとかサンプルを使いつつ、ゲームとして使えるようにしていきます

 

さっきのメニューから
Setupを選ぶとこのようなウインドウが出てくるわ
この中から1つ使いたいマップの種類を選ぶの

 

・簡単なマップの説明
Explorer:GoogleMapみたいな見た目。地名や道名、渋滞情報などが表示される
LocationProvider:ポケモンGOみたいな見た目。
VovelMap:Minecraftのような見た目、建物は再現されず、地形のみが反映される
InteractiveStyledVectorMap:ナビゲーションに特化している。初期位置と目的地を設定して道筋を示したり、マップをスクロールして無限に閲覧可能
ZoomableMap:GoogleEarthみたいに衛星画像からドンドンズームして詳細な地形画像を見ることが出来る
Globe:ZoomableMapを更に引いた感じ、地球単位の地図

 

今回は街の形がわかればいいので
Explorerを使ったぞ
さっきのウインドウのボタンをクリックすると、そのサンプルが生成されてそのSceneになるぞ

 

サンプルシーンのHierarchyのMapBoxを
自分の作っているSceneにコピー&ペーストするだけで
マップの表示は可能になります

 

上の画像で
Zoomを16、UnityTileSizeを450にすると
Unity世界の1mとほぼ等しい寸尺になると思います

 

一応これで、マップ内を歩くだけだったら完了よ
ただ、建物に当たり判定がないので突き抜けてしまうけどね
ってことで、その設定をしていくわ

 

先ほどのメニューバーにあるMapboxをクリックして、MapEditorをクリックすると
上のようなウインドウが出てくるぞ
そこのExplorerDefaultBuildingって言う項目をクリックしてくれ

 

クリックすると、Inspectorの項目が上の画像のようになっていると思います
赤枠で囲った場所のように、Add New Enptyから項目を追加してMeshColliderModifer
を追加してください

 

このようにMapEditorで
MeshColliderModiferが追加されていたら成功です!
これで建物にぶつかってもめり込むことはなくなるはずです

 

これで最低限の
マップの機能は使えると思うわ
後は色々触ってみてオリジナルなマップを作っていってね

 

あとMapBoxなんだが
一定数のアクセスが有ると有料になるアセットなので、もしゲームを作る場合は
利用規約をしっかり読んで自分にあうプランを契約してな

気軽にコメントをどうぞ!

この記事に関すること冬月に聞きたいこと等、小さいことでもコメントしていただける嬉しいです。冬月に直接連絡したい方は下のお問合せフォームをお使いください。(メール送信されます)

内容に問題なければ、下記の「コメントを送信する」ボタンを押してください。※メールアドレスは公開されることは有りません。


The reCAPTCHA verification period has expired. Please reload the page.

Android | iOS | PC | Unity | ゲーム製作の関連記事