Blosm(旧blender-osm)でGoogle Earthの3D都市データをBlenderに取り込む
【概要】
Blosm(旧称 blender-osm)は、Google の Photorealistic 3D Tiles(Google Earth と同じ3D都市データ)や OpenStreetMap のデータを Blender に取り込むアドオンである。このページでは、Blosm のインストールと、Google 3D Tiles による実在都市の3Dモデルの取り込み手順を示す。
【目次】
【関連する外部ページ】
- Blosm(GitHub)
- Blosmのダウンロードページ(Gumroad)
- Google 3D Tilesの取り込みの公式ドキュメント(GitHub Wiki)
- Google 3D Tiles Keyの取得方法(Google Developers)
- オープンライセンスの3D Tilesデータセットの一覧(GitHub Wiki)
【サイト内の関連情報】
第1章 前準備
【Blender のインストール】
Blender は最新の安定版を使う。Blosm は最新版の Blender で動作確認されている。
Blender のメニューは日本語表示に切り替えられる。
第2章 Blosmのインストール
Blosm は、Google の3D都市データ(Photorealistic 3D Tiles)や OpenStreetMap のデータを取り込む Blender アドオンである。旧称は blender-osm。無償版(base version)と有償の Pro 版があり、ここでは無償版を使う。
- Blosm のダウンロードページを開く
- 価格欄に金額を入力してダウンロードする。価格欄に 0 を入力すると無償でダウンロードできる。ダウンロードされる .zip ファイルは展開しない。
- Blender を実行する
- 上部メニューの「Edit(編集)」から「Preferences(プリファレンス)」を選ぶ
- 「Add-ons(アドオン)」タブを選ぶ
- 右上の「Install from Disk...(ディスクからインストール...)」をクリックする
- Blosm のダウンロードページからダウンロードした .zip ファイルを選び、「Install from Disk(ディスクからインストール)」をクリックする
- 一覧に表示された「Blosm」のチェックボックスをオンにし、有効化する
- 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 にある。
- Google Developers の案内ページに従って、Google 3D Tiles Key を取得する
https://developers.google.com/maps/documentation/tile/get-api-key
- 取得の過程で、「Map Tiles API」を有効化する。Google 3D Tiles Key には制限をかけない。
- 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(さらに詳細な建物)」である。
- Blender 3D ビューポートの右端で「n」キーを押し、サイドパネルの「Blosm」タブを開く
- ドロップダウンリストで「3D Tiles」を選ぶ
- 「select(選択)」ボタンを押す。ブラウザが開き、範囲を選択するページが表示されるので、画面の案内に従って取り込みたい範囲を指定する。この操作の終了時に、範囲の座標を表す文字列がクリップボードにコピーされる。
- Blender に戻り、「paste(貼り付け)」ボタンを押して、コピーした座標を貼り付ける
- 「Source(提供元)」が「Google」になっていることを確認する
- 詳細度レベルのドロップダウンリストで、まずは「groups of buildings(建物群)」または「separate buildings(個別の建物)」を選ぶ
- Blender 3D ビューポート上部の「Viewport Shading(ビューポートシェーディング)」を「Material Preview(マテリアルプレビュー)」または「Rendered(レンダー)」に設定する。テクスチャ付きで表示されるようになる。
- 「import(インポート)」ボタンを押す。Google 3D Tiles のダウンロードと取り込みが始まる
- 取り込みが終わると、指定した範囲の実在都市の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(リソースを展開)」でテクスチャ画像をファイルとして書き出してからエクスポートする。