前回は、国土地理院の地形データを使ってランダムに建物を建てていました。
建物をすべて用意するのは手間がかかる、それなりに正確な建物の高さを採用できないか、という点を今回対応していきます。
Project PLATEAU
国土交通省の提供している「Project PLATEAU」( https://www.mlit.go.jp/plateau/ )は、
地図上の3D情報(3D都市モデル)をオープンデータとして展開しているプロジェクトです。
Project PLATEAUの使用条件
「PLATEAU Policy」( https://www.mlit.go.jp/plateau/site-policy/ )より、
出典の記載があれば自由に使用できるとあります。
利用規約の詳しい内容は「PLATEAU Policy」に記載されている内容をよく読むようにしてくださいませ。
「組織や特定の事業を表すシンボルマーク、ロゴ、キャラクターデザイン」については適用外、という記載も注意深く理解する必要があります。
これらにのっとって、本チュートリアルでもProject PLATEAUを使うことにします。
PLATEAU VIEWで築地大橋周辺を見る
このチュートリアルでは築地大橋周辺を3D化してましたので、導入としてPLATEAU VIEWを使って築地大橋周辺をまず見てみます。
前回の記載より、以下の緯度経度の範囲を切り取っていました。
度分秒 | 10進法 |
---|---|
35度40分00秒 / 139度46分00秒 | 35.66666 / 139.76666 |
35度40分00秒 / 139度47分00秒 | 35.66666 / 139.78333 |
35度39分00秒 / 139度46分00秒 | 35.65000 / 139.76666 |
35度39分00秒 / 139度47分00秒 | 35.65000 / 139.78333 |
PLATEAU VIEWは、https://www.mlit.go.jp/plateau/app/ よりアクセスできます。
WebブラウザのChrome、Safari、Edge で対応しています。
このページの「PLATEAU VIEW [Ver.1.0] Run in Browser 」をクリックするとビュワーが表示されます。
建物モデルを追加
初期段階では3Dのデータが配置されていません。
「Add Data」をクリックして、表示する3Dデータを選択します。
築地大橋は東京都中央区に存在します。
東京都 – 東京23区 – 中央区 – 建物モデル(中央区)を探し、「+」をクリックします。
以下のように表示されました。
築地大橋付近に移動しました。
左から「テクスチャ付き」を選択すると、よりリアルな表示になります。
ただし、建物モデルだけで橋が存在しません。
橋が見えるようにズームすると、航空写真の橋はありますが3D化はされていません。
橋梁モデルを追加
「Add Data」をクリックして、東京都 – 都市アセット – 橋梁モデル(東京23区)を探し、「+」をクリックします。
これで橋梁の3Dモデルが追加されました。
この「建物モデル(中央区)」と「橋梁モデル(東京23区)」に該当する3DモデルをShade3Dに読み込んでいきます。
Shade3DにProject PLATEAUの3Dモデルを読み込む
Project PLATEAUの3D都市モデルの3Dデータは、「G空間情報センター」( https://www.geospatial.jp/gp_front/ )で提供されています。
「3D都市モデル(Project PLATEAU)東京都23区(OBJ 4次メッシュ 2020年度) 」を使用しました。
築地大橋あたりの構築範囲
Project PLATEAUの都市モデルは「構築範囲」ごとに領域が分かれており、
それぞれの領域ごとに3Dモデルが提供されています。
「3D都市モデル(Project PLATEAU)東京都23区(OBJ 4次メッシュ 2020年度) 」より「東京都23区構築範囲図」をダウンロードすると以下の画像になります。
中央区の築地大橋付近は533936あたりになります。
533936の3Dデータをダウンロード
「3D都市モデル(Project PLATEAU)東京都23区(OBJ 4次メッシュ 2020年度) 」より、533936を探してダウンロードします。
このページの下に「追加情報」があります。
「使用許諾」がありますので目を通すようにしておいてくださいませ。
自由に利用できます、の記載を確認しました。
解凍すると「brid.zip」「dem.zip」「LOD1.zip」「LOD2.zip」に展開されます。
これらをさらに解凍します。
「brid.zip」が橋や道路などの3Dモデル、
「dem.zip」が地形の3Dモデル(テクスチャなし)、
「LOD1.zip」がテクスチャのない建物の3Dモデル、
「LOD2.zip」がテクスチャのある建物の3Dモデル、となります。
その中で「533936」がさらに分割されて53393600 ~ 53393699に分かれています(100個に分かれているわけではありません)。
それぞれフォルダに分かれて格納されています。
3Dモデルはすべてobj形式です。
これらの解凍された3DモデルをShade3Dに読み込むことになります。
地形のテクスチャがないため、これは地理院地図の航空写真を持ってくることにしました。
地理院地図で航空写真と構築範囲を確認
国土交通省が提供している地理院地図( https://maps.gsi.go.jp/ )でこの「構築範囲」を見ることができるため、確認していきます。
築地大橋はこのあたりです。
右上で「設定」を選択し、「グリッド表示」-「地域メッシュ」をOnにします。
以下のように水色でグリッドが表示されました。
53393691/53393692/53393681/53393682の4つの領域が見えます。
この番号が、Project PLATEAUでの「構築範囲」の番号と同義になっています。
地面の航空写真は、地理院地図から取得するのがよさそうです。
地理院地図から航空写真を構築範囲ごとにダウンロード
構築範囲が分かりましたので、この領域ごとに航空写真をダウンロードします。
左上で「共有」を選択し、画像を選択。
「範囲を固定」を選択すると、範囲を指定する矩形が表示されます。
これを53393691に合うようにドラッグして調整しました。
右上で「設定」を選択し、「グリッド表示」-「地域メッシュ」をOffにします。
これで水色のグリッドが消えます。
左下で最大まで拡大します。
「OK」ボタンを押してファイルに保存します。
結構大きな航空写真を得ることができました。
ファイル名を構築範囲の番号である「53393691.png」と名前変更しておきます。
この処理を53393692/53393681/53393682に対しても行います。
合計で4枚の航空写真を得ることができました。
地理院地図の作業は完了しました。
地理院地図を閉じておきます。
地形のobjファイルをインポート
obj形式の3Dモデルは構築範囲ごとに存在します。
対象は、地理院地図で確認した53393691/53393692/53393681/53393682とします。
objインポート時は以下のようにオプションを指定しました。
Zを上向き(Z-Up)、Y軸を奥向きの右手系の座標として読み込みます。
※ 元データはZ-Upの座標系です。Shade3DのY-Upに置き換える必要があります。
インポート時に「リセット」ボタンを押し、「交換」の「Y-Z」、「反転」の「Y」を選択します。
また、「マテリアルファイル」チェックボックスをオンにし、「マテリアル名」を選択しておきます。
地形の「dem」より「53393691」のobjファイルを読み込みます。
地形は範囲ごとにフォルダに分かれて展開されています。
パート内に「Undefined」名のポリゴンメッシュが配置されています。
この名前を「dem_53393691」と変更しました。
また、マスターイメージは存在しないため削除しておきます。
注意点として、読み込まれた形状は移動/リサイズしないようにしてください。
objとして読み込んだ段階で、位置やサイズはmm単位で実寸の配置になっています。
同様に、demの53393692/53393681/53393682も読み込み、ブラウザで整理しました。
4つのポリゴンメッシュが配置されています。
ワイヤーフレームを見ると、地形の凸凹が地理院地図の築地大橋周辺になっているのを確認できます。
航空写真を読み込み
地形の53393691/53393692/53393681/53393682に対して、地理院地図で保存した航空写真を割り当てます。
航空写真をテクスチャとして4枚読み込みました。
各ポリゴンメッシュのマッピングとして「イメージ/拡散反射」に割り当てました。
なお、objインポート時のマテリアルは「マスターサーフェスではない状態のShade3Dマテリアル」で割り当てられます。
そのため、今回はPBRマテリアルを使用していません。
透視図で「テクスチャ」表示にして、マッピングが正しく行われていることを確認します。
この段階では、地形のわずかな凸凹と航空写真が与えられた状態です。
背景(IBL)を指定し、パストレーシングとして仮レンダリングしました。
建物のobjファイルをインポート
「LOD2」のテクスチャ付きの建物の3Dモデルを読み込みます。
このデータはテクスチャもたくさんあり、負荷が高い点に注意してください。
LOD2の53393691/53393692/53393681/53393682を読み込むことになります。
53393691はさらに「533936911」「533936912」「533936913」「533936914」に分かれていました。
パートごとに構築範囲の番号を付けて、整理しながらobjファイルを読み込んでいきました。
53393692/53393681/53393682も同様に建物を読み込みます。
以下のように読み込まれました。
地形に沿って建物が配置されているのを確認できます。
それぞれの形状に対して独立したマテリアルが割り当てられており、それぞれにテクスチャが割り当てられています。
objをインポートした段階で膨大な量の形状があるため、マテリアルを再調整というのは難しいかもしれません。
そのため、読み込んだままのものを使用します。
メインメニューの「ファイル」-「シーンファイル情報」を見ると、
総数が7509、イメージ数が3758とかなり大きなシーンになりました。
これくらいの規模になると、それなりのGPU、レンダリングのためのそれなりのCPU、それなりのメモリ量が必要になります。
パストレーシングでレンダリングしました。
橋や道路のobjファイルをインポート
橋や道路は「brid」に展開されています。
同様に53393691/53393692/53393681/53393682を読み込みます。
レンダリングすると以下のようになりました。
築地大橋にズームしてレンダリングすると以下のようになりました。
「地形データを活用」は以上になります。
最後はProject PLATEAUを使うことで、結局モデリングは不要。
地理院地図の航空写真を使うことでテクスチャの作成も不要、となりました。
Shade3Dとしては読み込んでレンダリングするだけです。
緯度経度の計算も出てきませんでした。
ですが、地図の正確な位置指定のため、緯度経度については把握しておいた方がよいかもしれません。
今回は築地大橋を中心としたほんの一部の3D化ですが、それでも大量の形状があるのが理解できるかと思います。
また、既存のサービスがないとこの量はとてもではないですがモデリングが難しい、というのを垣間見ることができました。
次回は、別のテーマについて説明予定です。