はじめに
どうも、べちおです。
山奥の大学で学生エンジニアをしています。
よろしくお願いいたします。
今回の内容
今回は国土交通省が提供しているPLATEAU - 3D都市モデルをCGソフトで利用できる形式に変換する方法を紹介したいと思います。
PLATEAUの3D都市モデルはCityGMLという特殊な形式になっており、通常のCGソフトでは読み込むことができません。(UnityとかBlenderとか・・・)
そのため、一度形式を読み込める形で変換してあげる必要があります。
詳しい変換の方法はPLATEAU公式のLibrariesの3D都市モデルのデータ変換マニュアルに記載されています。(一読することを強くお勧めします)
ぶっちゃけると、3D都市モデルのデータ変換マニュアルが優秀すぎてこちらの方で細かく書く必要がないレベルなので、私が実際にデータの変換を行った際に気づいた点も含めながら紹介していきます。
そのため、この記事は3D都市モデルのデータ変換マニュアルを別タブで開くなどして確認しながらお読みいただけるとよりわかりやすいと思います。
※ーこの記事の内容は 2022/8/27 時点の資料をもとに記載しております。資料が更新された場合はそちらの方をご確認ください。
記事の対象者
- PLATEAUの3D都市モデルに興味がある方
- Unityなどで3D都市モデルを使用してみたい方
この記事でできること
- CityGMLを他の形式に変換
作業環境
- Macbook (M1 Pro)
- macOS Monterey 12.5
- メモリ:16GB
全体の流れ
- FME Desktop をインストール
- FMEのワークスペースをGitHubからダウンロード
- 3D都市モデル(CityGML)のダウンロード
- 変換作業
いざ変換!
基本的には3D都市モデルのデータ変換マニュアルの第一章の流れに沿って変換作業を行っていきたいと思います。(CityGML → OBJ)
とりあえず指示通りGitHubへ
まず初めに、「3D都市モデルのデータ変換マニュアル」1ページの目次の下に
"各項で利用するFMEのサンプルワークスペースファイル(.fmwt)は以下より入手可能である"
という記述とともにGitHubのリンクが貼ってあるので、GitHubのページに向かいます。
GitHubの"README"を読み進めていくと、"前提ソフトウェア"の欄に、"商用ソフトウェア"としてFME Desktopというものがあります。
こちらのリンクをクリックすると、SAFE SOFTWARE のページに辿り着くと思います。
FME Desktop をダウンロード
SAFE SOFTWARE のページの上のメニューバーの"Support"から"Downloads"をクリックすると、"FME Downloads"のページに辿り着くと思います。
FME Downloadsページで、"FME Desktop"のご自身の環境に合わせたものをダウンロードしてください。
ダウンロードが完了したら、一度 "FME Workbenchspace"の起動を確認してください。
FME のワークスペースをダウンロード
実際にCityGMLをOBJやFBXに変化するためのワークスペースが用意されているので、そちらの方をダウンロードしていきます。
GitHubのページに"Sample Workspace"というフォルダがあり、その中にいくつかのワークスペースファイル(.fmwt)が用意されていることがわかります。
ここから一つワークスペースをダウンロードするのですが、
citygml2obj.fmwt
の場合、
「"CityGML形式"から"OBJ形式"に変換する」
を意味します。
今回はマニュアルに通りにcitygml2obj.fmwtを使用したいと思います。
では、任意のワークスペースをダンロードしてください。
CityGMLを用意する
ここの説明は以下の記事で詳しく記載しておりますので、そちらの方を参考にCityGMLを用意してください。
いざ変換!
ここから実際に変換作業に移りたいと思うのですが、はじめの方でも述べたとおり3D都市モデルのデータ変換マニュアルがとても優秀でこちらで細かく説明することがない、というのが本音なのです。
しかし、それでも注意しなければならないことがいくつかあるので、そちらの方を記載していきたいと思います。
3D都市モデル(CityGML形式)に記述されたURLの更新を忘れないように!
こちらはGitHubのREADMEに記載されている内容ですが、注意する点があります。
READMEの記載には、名前空間と、schemaLocationで使用されているリンクが変更になったので更新しなければならないという趣旨が述べられています。
そのため、ご自身のエディターで中身を書き換える必要があります。
ここで注意点なのですが、「bldg」、「dem」を使用した際は、どちらも、名前空間と、schemaLocationの一番上のリンクだけしか存在しませんでした。
そのため、名前空間、schemaLocation一番上のリンクだけを更新すれば問題ないです。(これで問題なく動きました)
変換するCityGMLの指定について
この話はCityGMLの仕様が関わってくるのですが、FMEのワークスペースでLOD1のデータを処理しようとしてもうまくいきません。正確には「処理は成功するが、ファイルが書き出されない」です。
というのも、「LOD1」はいわゆる「箱モデル」になります。そのため、あえてCityGML形式からOBJ形式に変換しなくとも、CityGMLと一緒に提供されているOBJ形式を使用すればよい、ということになります。
FMEのワークスペースでデータの変換を行う際には、「LOD2」以上のデータを扱うのが良いのかもしれません。
おわりに
ここまでお読みいただきありがとうございます。
どこか間違いがございましたらコメント欄にご記入ください。
この記事が新たなプロダクトのお役に立てれば幸いです。