*

『PLATEAU』の都市3Dデータ形式CityGMLをFBXに変換してUnityで遊ぶ(旧)

公開日: : 最終更新日:2023/01/09 PLATEAU, Unity, オープンデータ , , ,

 

本件は古い情報です。

Windowsの場合、2022年12月に SDKが作成され、ここに記載のようなことはしなくても簡単にできます。

こちらをリンク先をご覧ください。
https://synesthesias.github.io/PLATEAU-SDK-for-Unity/index.html

 

以下、元のブログ記事です。

PLATEAU(プラトー)』という国土交通省が進める 3D都市モデル整備・活用・オープンデータ化 のプロジェクトにおいて、現在全国50以上の都市の3Dモデルがオープンデータで公開されています。

 私の住んでる広島県では、建物3Dデータを取得できるのは呉市だけだったので、呉市のデータをダウンロードして、clusterのワールドにしてみました。
https://t.co/LjqWzgl1t0

clusterのワールドのデータはUnityで作ります。

Unityで利用するために、PLATEAUの3Dデータ形式CityGMLをFBXに変換する方法をブログに残します。

(東京都内などは最初からFBXなので、こんな手間は不要です)

 

手順

こちらの資料を参考にしました。

「3D都市モデルのデータ変換マニュアル」(リンク先のPDFの1つ)

https://www.mlit.go.jp/plateau/libraries/

 

 

ここから3D都市モデルデータをダウンロード

https://www.geospatial.jp/ckan/dataset/plateau

 

 

 


 

(2020.6.26更新)

 

2021年9月に3D都市モデル(CityGML形式)に記述されたURLが変更になりましたので、さきほどダウンロードした3D都市モデルのURLを修正する必要があります。

 

方法はGithub に書かれていて、

「3D都市モデルのファイル内の名前空間とschemaLocationに記載されている旧URLを、新しいURLに更新してください」とのこと。

具体的には、3DデータをVisual Studio 等のテキストエディタで開き、スクリプトの中の文字列を新URLに一斉に置き換えすれば直るはずです。

 

とはいえ、これだけではよく分からないので、もっと具体的な方法を以下記載します。

 

ここではVisual Studio Code (以下VSCode)での変換方法を記載します。

 

ここを参考にしました。ありがとうございました。

https://onishi-noboru.com/vscode-how-to-find-and-replace-text-in-multiple-files

 

VSCodeを起動して、メニューから[ファイル]→[フォルダーを開く]をクリックし、該当のフォルダを選択して、開きます。
左側にフォルダ内のファイルが一覧表示されます。

 

001

 

 

そのまま、以下のコマンドを押す。

Windows:Control + Shift + H

Mac:Command + Shift + H (未検証)

 

これで、開いているファイル全てを一括で検索・置換できるようになるので、それぞれの欄にさきほどのGithubで指定のURLを入力する。

68747470733a2f2f692e6779617a6f2e636f6d2f36346133306634363264643339373331383339336361663238316333653439642e706e67

 

 

新旧URLを入力したら、「Replace All」ボタンをクリック

68747470733a2f2f692e6779617a6f2e636f6d2f38663132643961333963396166303738386564633936383334643131323138662e706e67

 

先ほどのGithubにあるURLを全て変換したら、URLの修正作業は終了です。

 

 

 


 

では、ダウンロードファイルをFBXファイルに変換する方法を以下。

 

 

まず、ダウンロードファイルの中のPDFで3Dモデルにしたい番号を控える(あとで必要)

 

下図のような感じ(呉市のPDFより)

1

 

 

次に、FMEというソフトをインストール

(凄く高価なソフトなので、Free Trialで)

https://www.safe.com/fme/fme-desktop/

 

インストールしたら

Data-Conversion-Manual-for-3D-City-Model

をここからダウンロード

https://github.com/Project-PLATEAU/Data-Conversion-Manual-for-3D-City-Model

 

ダウンロード、解凍したら、

citygml2fbx.fmwt

を開く。

 

こんな画面

2

 

 

 

左側の[Input bldg] を右クリック

3

 

 

 [Edit ‘Input: bldg [CITYGML]’ Parameters…]を選択

※建物データの変換が不要の場合は Disable ‘Input: bldg [CITYGML]’を選択

 

 

下画像のとおり、[…]をクリックし、FBXに変換したいcityGMLファイル(建物 bldg)を選択する。

(冒頭で控えた番号のあるファイルを選択)

 

 

4

 

 

続いて、先ほどと同様に

下画像のとおり、右側の[Input: dem]を右クリック

※地形データの変換が不要の場合は Disable ‘Input: dem [CITYGML]’を選択

 

5

 

 

 

FBXに変換したいcityGMLファイル(地形 dem)を選択する。

(冒頭で控えた番号のあるファイルを選択)

 

次に、保存先を指定する。

下画像のとおり、

・Output: bldg_lod2

・Output: bldg_lod1

・Output: dem

 

に、変換後のFBXファイルの保存先を指定する。

6

 

 

 

3D都市モデルは緯度・経度による測地系となっているが、平面直角座標に変換することもできる。

(ここでは省略、「3D都市モデルのデータ変換マニュアル」(リンク先のPDFの1つ)に記載ありhttps://www.mlit.go.jp/plateau/libraries/

 

 

 

[Run]をクリックする

7

 

 

 

しばらくして、[Translation was SUCCESSFUL]

って出たらOK

 

 

 

 

 

 

 

 

あとは、FBXファイルをドラッグしてUnityへ。

(各ファイルの座標を同じにしたら揃う)

8

 

 

 

できた!!

E5YAtWlVcAYBfhM

 

 

 

以上

 

 

 

P.S.

呉市のデータでが該当しませんが、

FBXに変換したときにテクスチャとしてtifファイルが生成されたとき、tifファイルは重いのでjpgに変換するなど必要です。

以下のサイトを参考にしてください。

 

PLATEAUのLOD2のテクスチャとFBXを軽量化してUnityに取り込む
 

ad

    この記事が気に入りましたら、ぜひTwitter、facebookボタンをお願いします。
    ブログを書くモチベーションになります。よろしくお願いします。

  • このエントリーをはてなブックマークに追加
この記事が良かったらビットコインで寄付をお願いします。
ビットコイン投げ銭ウィジェット



関連記事

【Unity備忘録】オブジェクトに近づくと音量が大きくなり、離れると小さくなる

Inspector で以下を設定 Spatial Blend を 1に 3D Sound Se

記事を読む

43歳の素人プログラマーのオッサンがUnityでゲームを作ってみた(第3弾:ゾンビ系ゲーム「TERADA HAZARD」)

中年の素人のオッサンがUnityという開発ツールを使って、 ゲームを作るシリーズ第3弾です。 さて

記事を読む

プラ鉄への道

  この記事は 3D都市モデル Project PLATEAU Advent Calendar 20

記事を読む

3D都市モデルPLATEAUのハッカソン「PLATEAU Hack Challenge 2022」に参加したよ(その2:呉)

  この記事は 3D都市モデルProject PLATEAU Advent Calendar 202

記事を読む

Unity にメタマスクを実装するためにThirdweb を使ったときのNewtonsoftに関するエラー

  私の環境 ・Windows 10 ・Unity 2021.3.4f1   エラーについて Uni

記事を読む

ad

Message

メールアドレスが公開されることはありません。

ad

【PLATEAU】同じFBXの中の別建物に別のテクスチャを貼る方法

  前回のこの記事の続きになります。 PLATEAUの建物データにBl

PLATEAUの建物データにBlenderでテクスチャを貼り、Unityへ持っていく手順

  LOD1には地面や建物にテクスチャがないので、自分で貼ってみました

PLATEAUのデータをテクスチャをつけてメタバースclusterにアップする方法

はじめに 今更ですが PLATEAUの出始めのころはLOD1には地面や

【GitHub】過去のコミットに戻して開発を再開する方法

    GitHubにこまめにコミットしておいて、本当に良かったです

Unity Pro Builderでアーチや階段を作る

  毎回悩むので自分用備忘録   まずは、 Window > P

→もっと見る

PAGE TOP ↑