これまで p921〜p923 で、国土交通省の3D都市モデル「PLATEAU(プラトー)」を使い、東京・丸の内エリアの“建物だけ”の街をUnityに取り込んできました。ビルがびっしり建った様子はそれっぽいのですが、ひとつ大きな違和感が——地面が無く、街全体が宙に浮いて見えるのです。
そこで今回は、同じ丸の内に ①地面(地形)・②道路・③橋梁 を足して、“建物だけの街”を「本物の街並み」に整備していきます。PLATEAUの広いデータを街の範囲に切り出すコツや、「形だけ」の道路を道路らしく見せる作り込みも紹介します。
・PLATEAUの地形(dem)で地面を敷いて「街の浮き」を直す方法
・道路(tran)を入れて、約10km四方の広域データを街の範囲に切り出すコツ
・形だけの道路にアスファルト質感を貼って“道路らしく”する作り込み
・橋梁(brid)で東京駅周辺の高架・立体交差を再現
・建物と地形・道路を重ねるときの座標・高さ合わせのつまずきと対処
地形・道路・橋梁を足すと街のデータが一気に重くなるため、今回のUnity作業は グラフィックボード(RTX 3060)を積んだWindows機で行いました。p924 で「Unrealは対応GPUのWindowsで真価を発揮する」と分かったので、重い3D都市の整備もWindowsにバトンタッチしてMacの負荷を避けています。
前回までの街:建物だけだと“宙に浮く”
まずは出発点。p923までで作った丸の内の街は、建物(bldg)だけを取り込んだ状態です。下が地面ではなく“何も無い空間”なので、ビル群がふわっと浮いて見えてしまいます。

ここに地面・道路・橋梁を足して、地に足のついた“本物の街”にしていきます。
今回の環境と、使うPLATEAUデータ
| 項目 | 内容 |
|---|---|
| エンジン | Unity 6000.4.5f1(ビルトインRP・p921〜シリーズと統一) |
| 作業マシン | Windows 11 / GPU: GeForce RTX 3060(VRAM 12GB) |
| 対象エリア | 東京・丸の内(PLATEAUメッシュ 53394611) |
| 座標系 | EPSG:6677(平面直角座標・単位メートル) |
PLATEAUは地物の種類ごとにデータが分かれています。今回追加で使うのはこの3つです。
| 種類 | データ | 範囲 | 用途 |
|---|---|---|---|
| 地形 dem | 533946_dem | 2次メッシュ=約10km四方 | 地面を敷く |
| 道路 tran | 533946_tran | 2次メッシュ=約10km四方 | 道路レイアウト |
| 橋梁 brid | 53394611_brid(丸の内タイル) | 3次メッシュ=約1km四方 | 高架・立体交差 |
※ 建物(bldg)と橋梁(brid)は丸の内タイル(約1km)ですが、地形(dem)と道路(tran)は約10km四方の広い単位でしか配布されていません。そのため後で街の範囲に切り出す作業が必要になります。街路樹(植生)は今回のデータ一式に含まれないため扱いません。
① 地面(地形・dem)を敷く
最初に地面です。地形データ 533946_dem_6677.fbx をUnityにインポートし、建物の足元に敷きます。ポイントはインポート時のスケール(Scale Factor)を、先に入っている建物FBXと揃えること。ここがズレると地面と建物の大きさが合いません(詳しくは⑤)。


地面が入るだけで、街がぐっと安定して見えます。p923の「浮いて見える問題」はこの地形で根本解決です。建物が地面にわずかにめり込んだり浮いたりする場合は、地形の高さ(Y)を少し調整して接地させます。
ここで小さなつまずきが2つ。1つは、前シリーズで歩き回る用に置いていた“仮の地面”が残っていると、本物の地形を覆い隠してしまうこと。先に外しておきます。もう1つは、PLATEAUの地形データは色(テクスチャ)を持たないので、そのままだと真っ白な板に見えること。土っぽい色のマテリアルを当てて地面らしくしました。
② 道路(tran)を入れて街の範囲に切り出す
次は道路 533946_tran_6677.fbx。ここで最初の関門が来ます。道路データは約10km四方と広く、丸の内の街(約1km)に対して桁違いに大きいのです。そのまま入れると、街からはみ出した道路が四方に広がり、データも重くなります。

そこで、建物タイルの範囲(丸の内・約1km)に合わせて道路を切り出します。やり方は2通り:
- Unityで切る:俯瞰で街の外周にはみ出した道路メッシュを選択して削除する
- Blenderで切る:先に該当範囲だけ残してからUnityに入れ直す(より軽くなる)

切り出すと、建物と道路は同じ座標系なので、向きさえ合わせれば区画どおりにピタッと一致します(この“向き合わせ”が今回の山場。詳しくは⑤で)。丸の内の碁盤の目状の街路がそのまま再現されるのは気持ちいい瞬間です。
③ 形だけの道路を“道路らしく”作り込む
ところがPLATEAUの道路、入れただけだと「グレーの板」にしか見えません。というのも、tranデータは道路の形(平らな面)だけで、アスファルトの質感も白線も持っていないからです。
そこで、道路のマテリアルにアスファルトの質感を与えました。今回はフリー素材を探す代わりにプログラムで質感を生成(自作)したので、ライセンスの心配もありません。タイリング(繰り返しの細かさ)を調整して、スケール感が自然になるよう合わせます。
なお白線は省略しています。PLATEAUの道路データは白線を引くための情報(UV)を持っていないため、きれいに描くには別の手間(デカール等)が必要だからです。それでも、アスファルト色を乗せるだけでグレーの板が一気に“道路”に見えてきます。
ただ、ここで地味にハマったのが「道路が地面に潜って、土の色がまだらに被る」現象。PLATEAUの道路と地形はほぼ同じ高さの面なので、重なった部分で表示がチラついて道路が途切れて見えてしまうのです。対処はシンプルで、道路を数メートル(今回は約9m)だけ上に持ち上げて地形の上に出すだけ。これでグレーの線が途切れず連続し、街路がすっきり通って見えるようになりました。同じ高さに重なる面(道路・歩道など)は少し浮かせる——3Dの定番テクニックです。
この“一律で持ち上げる”やり方が通用するのは、地面の起伏がゆるやかな場合です。丸の内は比較的平坦なので約9mの持ち上げできれいに収まりました。
ところが地面の起伏が激しい土地で、いちばん高い場所に合わせて道路を持ち上げると、低い場所では道路が地面からぽっかり浮いて見えてしまいます。坂や谷のある地形では、一律ではなく地形の高さに沿って道路を乗せる(区間ごとに高さを合わせる/地形に沿わせる)必要があり、ここはぐっと手間が増えるポイントです。

質感を貼るだけで説得力が段違い。PLATEAUは「正確な形」を提供してくれる素材集で、見た目の作り込みは自分の仕事——という性格がよく分かるところです。
④ 橋梁(brid)で立体交差を再現
最後に橋梁 53394611_brid_6677.fbx を追加します。丸の内・東京駅周辺は、高架の線路や首都高など立体交差が多いエリア。橋梁データを入れると、平面だった街に上下の重なりが生まれ、一気に都市らしくなります。

橋梁データも地形と同じく色を持たないので、コンクリート色のマテリアルを当てています。なお東隣のタイル(53394612)も足してみましたが、内部の向きがうまく揃わず位置がズレたため、今回は丸の内タイル(53394611)だけを使いました。
⑤ つまずきポイント:建物との座標・高さ合わせ
今回いちばんの関門が「重ね合わせ」でした。建物・地形・道路・橋梁はすべて同じPLATEAU座標(EPSG:6677)のはずなのに、地形と道路を入れた瞬間は向きも位置もバラバラに散らばってしまったのです。
原因を突き止めると、犯人は「上方向(軸)の違い」でした。生のPLATEAUデータ(地形・道路・橋梁)はZ軸が上=Z-upで作られているのに対し、建物はp921〜p922でBlenderを通したときにY軸が上=Y-upに変換済み。つまり“上の向き”が90°食い違っていたわけです。
追加データ(地形・道路・橋梁)を1つの空の親オブジェクトにまとめ、その親をX軸 −90°回転してY-upに直したら、ほとんど自動でピタッと一致しました。建物が元の地理座標(東京での正確な位置)をそのまま保持していたため、スケール変更も原点合わせもほぼ不要。橋梁タイルの中心と建物の中心がまったく同じ座標で重なってくれました。
細かいことを言うと、道路と橋梁は部品ごとに内部の向きが少し違い、親を回しただけだと一部が“立って”しまったので、立った部品だけ追加で90°寝かせる微調整を入れています。とはいえ大枠は「まず −90°回す」でほぼ解決。高さ(Y)は地形の中央を建物の足元に合わせて自動で接地させました。
そもそも今回このズレが起きたのは、建物と、地形・道路・橋梁を“別々のタイミング”で取り込んだからです。建物は前シリーズ(p921〜922)でBlenderを経由してY-upに変換済み、一方で地形・道路・橋梁は今回はじめて生のまま(Z-up)取り込んだ——この経路の違いが軸の食い違いを生みました。もし最初から全部まとめて同じ手順で取り込んでいれば、向きは最初からそろい、ここまで悩まずに済んだかもしれません。
とはいえ、「最初は入れる予定がなかったデータを、後から足したくなる」のは制作ではよくあること(今回の地面・道路がまさにそれです)。そういうとき、先に取り込んだデータと後から足すデータの“前提”がズレていて苦労する——これは誰でもぶつかり得る点なので、頭の片隅に置いておくと安心です。
教訓:同じ座標系のはずのデータが合わないときは、スケールや原点をいじる前に、まず「上の向き(Z-up と Y-up)が食い違っていないか」を疑うと早いです。Blenderなど別のソフトを経由したデータは、ここがズレがちなポイントでした。
ビフォーアフター:街並みはこう変わった
整備の前後を並べてみます。建物だけ → 地面+道路+橋梁で、同じ丸の内とは思えないほど“街”になりました。



整備後の街は三角形 約904万・描画回数 約5,700回とかなり重い構成ですが、Windows(RTX3060)では目線アングルで約60FPS(画面のリフレッシュ上限)・GPUの処理時間0.1msとまだ大きな余力がありました。p924で分かった「重い3DはGPUを積んだWindowsで一気に軽くなる」が、街づくりでもそのまま当てはまります。Macだと重かった作業が、こちらでは終始サクサクでした。
まとめ
- 地形(dem)を敷くだけで、建物だけの街の「浮き」は解決する。
- 道路(tran)は約10km四方と広いので、街の範囲に切り出すのがコツ。同じ座標系なので切ればピタッと合う。
- PLATEAUの道路は形だけ。アスファルト質感を貼って初めて“道路”に見える。
- 橋梁(brid)を足すと立体交差が生まれ、一気に都市らしくなる。
- 生データと加工済みデータが合わないときは、まず上の向き(Z-up と Y-up)の食い違いを疑う。今回はX軸 −90°回転でほぼ自動一致した。
建物だけだった街が、地面と道路と橋でぐっと“本物”に近づきました。PLATEAUは「正確な街の形」をくれる素材で、そこに質感や演出を足して街を仕上げるのは自分の仕事——という分担がよく分かる回でした。
ただし、まだ“砂漠の中の街”——もっとリアルな街並みへ
今回の完成形は上の画像のとおりですが、よく見ると道路はグレー一色、地面は土色一色で、どこか「砂漠の中に街が建っている」ような見た目になっています。
記事の中でも触れたとおり、PLATEAUのFBXには地形・道路・橋梁の“形”は入っていても、色やテクスチャの情報は入っていません。そのため、よりリアルな街並みに近づけるには、PLATEAUだけでは完結できず、別の手法を組み合わせる必要があります。
たとえば、Google マップの航空写真のようなデータを地形に貼り付け(マッピング)する、といった方法もあるようです。今後はそうした手法も試しながら、もっとリアルな街並みの再現に挑戦していこうと思っています。
それでは、今回はここまで。最後までありがとうございました😊