Blosm(旧blender-osm)でGoogle Earthの3D都市データをBlenderに取り込む

概要

Blosm(旧称 blender-osm)は、Google の Photorealistic 3D Tiles(Google Earth と同じ3D都市データ)や OpenStreetMap のデータを Blender に取り込むアドオンである。このページでは、Blosm のインストールと、Google 3D Tiles による実在都市の3Dモデルの取り込み手順を示す。

目次

関連する外部ページ

サイト内の関連情報

第1章 前準備

Blender のインストール

Blender は最新の安定版を使う。Blosm は最新版の Blender で動作確認されている。

Blender のメニューは日本語表示に切り替えられる

第2章 Blosmのインストール

Blosm は、Google の3D都市データ(Photorealistic 3D Tiles)や OpenStreetMap のデータを取り込む Blender アドオンである。旧称は blender-osm。無償版(base version)と有償の Pro 版があり、ここでは無償版を使う。

  1. Blosm のダウンロードページを開く

    https://prochitecture.gumroad.com/l/blender-osm

  2. 価格欄に金額を入力してダウンロードする。価格欄に 0 を入力すると無償でダウンロードできる。ダウンロードされる .zip ファイルは展開しない。
  3. Blender を実行する
  4. 上部メニューの「Edit(編集)」から「Preferences(プリファレンス)」を選ぶ
  5. Add-ons(アドオン)」タブを選ぶ
  6. 右上の「Install from Disk...(ディスクからインストール...)」をクリックする
  7. Blosm のダウンロードページからダウンロードした .zip ファイルを選び、「Install from Disk(ディスクからインストール)」をクリックする
  8. 一覧に表示された「Blosm」のチェックボックスをオンにし、有効化する
  9. Blender 3D ビューポートの右端で「n」キーを押してサイドパネルを開き、「Blosm」タブが増えたことを確認する。これでインストールは終了。

第3章 Google 3D Tiles Keyの取得

Google の3D都市データ(Google 3D Tiles)を取り込むには、Google 3D Tiles Keyが必要である。取得には、有効なクレジットカード情報を登録した Google Cloud の課金アカウントの設定が要る。Photorealistic 3D Tiles には月1000リクエストの無料枠があり、無料枠を超えた分は課金される。

注意】EU/EEA地域の請求先住所で2025年7月8日以降に新規作成したプロジェクトでは、Google 3D Tiles を取得できない(Map Tiles API が 403 エラーを返す)。該当する場合は、オープンライセンスの3D Tilesデータセットを使う。データセットの一覧は https://github.com/vvoovv/blosm/wiki/Data-sets-with-OGC-3D-Tiles にある。

  1. Google Developers の案内ページに従って、Google 3D Tiles Key を取得する

    https://developers.google.com/maps/documentation/tile/get-api-key

  2. 取得の過程で、「Map Tiles API」を有効化する。Google 3D Tiles Key には制限をかけない。
  3. Blender の「Edit(編集)」から「Preferences(プリファレンス)」を選び、「Add-ons(アドオン)」タブで Blosm の設定を展開し、「3D Tiles Key」欄に取得したキーを入力する

第4章 Google 3D Tilesのインポート

まずは1km四方程度の範囲で、詳細度レベルを「groups of buildings(建物群)」または「separate buildings(個別の建物)」に設定して試す。広い範囲や高い詳細度レベルを指定すると、ダウンロードと取り込みに時間がかかり、Google Cloud の無料枠を超過し、メッシュの三角形数が膨大になる。詳細度レベルは、最も低いものが「whole city(都市全体)」、最も高いものが「buildings with more details(さらに詳細な建物)」である。

  1. Blender 3D ビューポートの右端で「n」キーを押し、サイドパネルの「Blosm」タブを開く
  2. ドロップダウンリストで「3D Tiles」を選ぶ
  3. select(選択)」ボタンを押す。ブラウザが開き、範囲を選択するページが表示されるので、画面の案内に従って取り込みたい範囲を指定する。この操作の終了時に、範囲の座標を表す文字列がクリップボードにコピーされる。
  4. Blender に戻り、「paste(貼り付け)」ボタンを押して、コピーした座標を貼り付ける
  5. Source(提供元)」が「Google」になっていることを確認する
  6. 詳細度レベルのドロップダウンリストで、まずは「groups of buildings(建物群)」または「separate buildings(個別の建物)」を選ぶ
  7. Blender 3D ビューポート上部の「Viewport Shading(ビューポートシェーディング)」を「Material Preview(マテリアルプレビュー)」または「Rendered(レンダー)」に設定する。テクスチャ付きで表示されるようになる。
  8. import(インポート)」ボタンを押す。Google 3D Tiles のダウンロードと取り込みが始まる
  9. 取り込みが終わると、指定した範囲の実在都市の3Dモデルが表示される

インポート設定には次のものがある。「Join 3D Tiles objects(3D Tilesオブジェクトの結合)」をオンにすると、取り込んだ3D Tilesが1つのBlenderオブジェクトに統合され、重複する頂点が削除される。オフの場合は、3D Tileごとに別々のBlenderオブジェクトとして保持される。「Relative to initial import(最初のインポートを基準にする)」をオンにすると、Blosmで過去にインポートした際の位置を基準にして今回のインポートが行われる。オフの場合は、過去のインポートを無視し、Blenderの原点を基準に今回のインポートが行われる。

取り込んだ3D Tilesのマテリアルは、そのままでは他形式へエクスポートできない。エクスポートする場合は、「3D Tiles」パネル下部の「Tools」で「Replace Materials」ボタンを押し、エクスポートできるマテリアルに置き換える。その後、Blenderファイルを保存し、メニューの「File(ファイル)」→「External Data(外部データ)」→「Unpack Resources(リソースを展開)」でテクスチャ画像をファイルとして書き出してからエクスポートする。