🔖
OpenStreetMapの地形データをUnityで使える3Dデータとして書き出す方法
ハッカソン中に試行錯誤してたどり着いたやり方をまとめておきます。
概要
- 地図の任意の範囲の.osmファイルを出力する
- OSM2Worldを使って.objファイル形式に変換する
1. 地図の任意の範囲の.osmファイルを出力する
http://www.openstreetmap.org/ にアクセスし、任意の範囲を選択してから「エクスポート」します。
2. OSM2Worldを使って.objファイル形式に変換する
OSM2Worldをインストール→起動し、osmファイルを取り込みます。
http://wiki.openstreetmap.org/wiki/JA:OSM2World の記述を参考にすると良いです。
起動画面
OSMファイルを開いたところ(この後、File > Export OBJ file を選択)
Unityに取り込むとこんな感じです。
今後の課題
建物同士がオブジェクトとして分かれていない。
UV値が全てゼロに設定されているのでうまく画像を貼り付けられない。
解消する方法がありそうな気がするんですが、知ってる人がいたらぜひ教えて下さい。
参考にしたサイト
その他にこんなやり方があるようです。
ActionStreetMap
こちらは地図を動的に生成可能。
GoMap
MapBox
Discussion