無料の3DCGソフトBlenderに、Blender GISというアドオンを追加すると、現実の街並みのCGモデルを作れるらしいのでやってみました。
Blender と Blender GIS のインストール
Blender GISの公式ページによると、Blenderの一部のバージョンとの組み合わせでMacで動作しないと書いてあるのでBlenderは最新版を使いましょう。Blender本体はここからダウンロードしてインストールします。

Blender GISはGitHubから入手します。
緑色の [Code] アイコンから [Download ZIP] します。解凍する必要はありません。Blender本体の [Edit] > [Preferences…] で設定画面を開いて、[Add-ons] > [Install] で先程のZIPファイルを指定します。[3D View: BlenderGIS] と表示された隣のチェックボックスをオンするとアドオンが有効になります。
その隣の三角マークをクリックすると詳細な設定項目が表示されます。[Basemap] > [Cache folder:] のフォルダーの場所を適当に決めてください。
3Dモデルの作成
以上の設定が終わるとBlenderに [GIS] というメニューが現れます。
次にメッシュデータをクリックして選択した状態で [GIS] > [Web geodata] > [Get elevation (SRTM)] > [OK] を実行すると高低差のデータが読み込まれ、平面だったマップが変形します。ただし、このデータは必ずしも正確ではないようなので、不要なら省略しても構いません。
さらに [GIS] > [Web geodata] > [Get OSM] > [OK] を実行するとビルや道路などの地形データが読み込まれます。このとき、”Elevation from object” は地形の高低差に合わせて物を配置してくれる機能です。buildingなど、認識したい項目を選択します。Shiftを押しながらクリックすると複数を選択できます。
暫く待つと町並みの3Dモデルが完成します。
作成したモデルをUnityにエクスポート
メッシュデータをクリックして選択し、[File] > [Export] でファイル形式を指定して保存できます。
Unityで利用するには.glb形式(.glTF 2.0)で保存します。Unityで.glbファイルを読み込むにはUniGlTFというプラグインが必要になります。いくつか解説ページがありますので参考にしてください。


作成したモデルをSTLファイルにエクスポート
Fusion360や3Dプリンタで利用する場合は.stl形式で保存します。このとき、デフォルトのままだとスケールが合わないので、[Object Properties] > [Transform] > [Scale X/Y/Z] の値を変更しておきます。適当ですが 10000.0 くらいにしておくと良いようです。なぜそうなるか、詳細は不明です。
Fusion360の [挿入] > [メッシュを挿入] で.stlファイルを読み込むとこのようになります。
コメント