今回はちょっと資料が少なくて 冬月自身が忘れないようにメモっておく回 になります |
普段より不親切な内容になるとおもうから もし参考にするならご了承頂きたいわ 急遽出来た内容なので正確さよりも速さを撮った感じね |
スクリーンショットを参考にしてほしいが 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なんだが 一定数のアクセスが有ると有料になるアセットなので、もしゲームを作る場合は 利用規約をしっかり読んで自分にあうプランを契約してな |