こんにちは!
XRクリエイターの伊東(@ALAKIWebVRAR1)です。
※TwitterでもAR/VRの事を中心に情報発信中です。
よかったらフォローお願いします!
Follow @ALAKIWebVRAR1
今回は、有志によって日々更新・運営されているオープンソースの地図サービス「OpenStreetMap」をもとに、建物の3DデータをエクスポートしてUnityに組み込んでみたいと思います。
現実の位置情報を使ったアプリケーションの開発に非常に役立ちます。
それでは、始めて行きたいと思います!
OpenStreetMapからOSMファイルをエクスポート
まずはOpenStreetMapにアクセスします。
https://www.openstreetmap.org/
3Dモデルとして抽出したい場所を検索してみましょう。
目的の場所にたどり着いたら、画面左上の「エクスポート」をクリックします。
今回は最終的に3Dモデルとして書き出すため、そのままだと範囲が大きく、容量も大きくなってしまいます。
範囲を限定する際は、左側の画面から、「ドラッグして別の領域を選択」をクリックしてエリアをドラッグして調整することができます。
最後に「エクスポート」ボタンを押すと、「.osm」という拡張子のファイルをエクスポートすることができます。
.osmファイル自体は、JSON形式のテキストデータになっていて、書き出した範囲内のランドマークの情報が詰まっています。
1 2 3 4 5 |
<node id="365926459" visible="true" version="9" changeset="98516036" timestamp="2021-02-01T13:54:39Z" user="zyxzyx" uid="7707735" lat="34.7011223" lon="135.4968213"> <tag k="highway" v="traffic_signals"/> <tag k="name" v="大阪駅前"/> <tag k="name:en" v="Osaka Sta."/> </node> |
こちらは大阪駅前の情報ですね。
IDが振られていて、このIDに紐づいて、道や建物のデータが存在します。
建物のデータには、建物の大きさに関する情報が記述されており、これをもとに後述のツールで3Dモデルが生成されます。
OSMファイルから3Dモデルを抽出する
次に、.osmファイルから3Dモデルを生成する「OSM2World」というツールを入手します。
以下のリンクからダウンロード可能です。
http://osm2world.org/download/
フォルダを展開すると、「OSM2World.jar」というJavaの実行ファイルがありますので、開いてみましょう。
ものすごくシンプルなアプリケーションが起動しました。
この黒い画面に、先ほどエクスポートした.osmファイルをドラック&ドロップでインポートします。
おお!
簡単に3Dモデルが生成されました!
建物の形状は、ものすごく簡易に作られています。
建物の形状の詳細度は、「LOD(Level Of Detail)」というレベルで評価されています。
LODについては、以下のページの説明がわかりやすいです。
https://osmbuildings.org/blog/2018-02-28_level_of_detail/
今回のツールでは、単純に建物の形状を高さ分押し上げて作られた箱状のモデルですので、「LOD1」に相当します。
ちなみに、「LOD2」になってくると、建物の外観に実際の航空写真で撮ったテクスチャを設定することができます。
それでは、3DモデルをOBJ形式でエクスポートしてみましょう。
メニューバーの「File > Export OBJ File」を選択すると、少し待ち時間があったのち、OBJ形式のファイルを入手することができました!
Unityへのインポート
最後に、入手したOBJファイルをUnityにインポートしてみましょう。
Unityで新しいプロジェクトを作成し、Assetsフォルダ内に適当なフォルダを作成し、OBJファイルをドラック&ドロップでインポートします。
インポートが完了しました!
画面の上方向が地図の「南」になっていることに注意しましょう。
もし通常の地図と同じ様に画面の上方向を「北」にしたい場合は、3DモデルのY軸を180度回転することで調整できます。
今回ご紹介した方法を活用すると、現実を再現した3Dモデル上でプレイヤーが動き回ったりするアプリケーションを作ることも可能です。
今後も、現実の地図の3Dモデルを使ったテクニックをご紹介したいと思いますので、お楽しみに!
最後に
弊社では、今回ご紹介した様なリアルな3Dモデルを活用して、現実のあらゆる場所から、デジタルコンテンツを誰でもAR空間にドロップできる「MUGHEN」というアプリをリリースしています。ぜひインストールしていただき、現実を拡張する感覚を体験してみてください!
■MUGHEN サービス紹介サイト
https://alaki.co.jp/lp/mughen/
また、ALAKI株式会社では、「MUGHEN」をはじめとする最先端技術を使って世の中に価値を提供するため、一緒に大きな目標に挑戦する仲間を募集中です!興味のある方は、以下のリンクからご応募ください!
■ALAKI リクルートサイト
https://recruit.alaki.co.jp/