20250603_notes - h4us/maebashi-it-architectual-informatics-I GitHub Wiki

第7回 パラメトリック・プロシージャルなモデリング 4 / 小課題 1

前回からの補足

--

事前準備

前橋市のCityGMLデータ

https://www.geospatial.jp/ckan/dataset/plateau-10201-maebashi-shi-2023

のCity GML(v4) というデータを各自ダウンロードしておいてください。(*ファイルサイズが結構大きいです)

外部のデータを利用する - 一般的な3Dモデルデータのインポート

Blender でインポート可能なフォーマットの3Dモデルを読み込んでモデリングに利用する

  • .fbx / .obj / .gltf / .glb / .stl ...etc
    • Blender のようなDCCツールの場合はテクスチャデータをバンドルできる方が扱いやすい。
    • FileImport → .. 各フォーマットのメニューから or 3D Viewport 内にドラッグ&ドロップでも読み込めます。
  • 自分でキャプチャした点群データから生成したデータの例(群馬総社駅 駅舎 / glb フォーマット) https://www.dropbox.com/scl/fi/m9969el3mfvmzkf4mfux7/soja-pcl.glb?rlkey=n72tn3xhv8vxu7369ipblhmq8&dl=0

外部のデータを利用する - PLATEAU / CityGML の利用

CityGMLはあくまで「中間データ」的な立ち位置であり、アプリケーション側で使いやすい形式に変換したり、独自に(任意の情報を得るための)パーサーを実装して利用することが想定されています。

PLATEAU公式からは Unity と Unreal Engine 用のSDKが提供されていますが、Blender ではそのまま読み込むことができないため、前述の有志の開発者によって開発されたアドオンを利用します。

Plateau-Blender-Importer アドオンのインストール

BlenderでCityGMLを直接読み込むためのサードパーティアドオンをインストールします。

https://github.com/nneri-hin/Plateau-Blender-Importer

このページのREADMEに従って、zipアーカイブファイルをダウンロード。Blenderの PreferencesAdd-onsInstall でダウンロードしたファイルを指定してインストールしてください。

インストール後は通常の外部データのインポート同様、FileImportPlateau cityGML (.gml) メニューから読み込めます。

また、今回扱うデータは都市に関連するもののため、基準のスケールが大きいです。必要に応じて、

  • Scene / Units / Length を「Meters」に
  • LayoutGeometry Nodes ワークスペースなどの3D Viewportで、サイドバーの View タブ の View / End (Clip End) の値を「100000m(100km)」などの比較的大きな値に

調整しておくことを勧めます。

fig4

CityGMLデータを読み込む際の注意点・CityGMLの構造について

  • 命名規則・フォルダの構造などに決まりがある
    • 地物ごとのフォルダ分類:建物(bldg)、地形(dem)、道路(tran).. など。
    • 各フォルダ以下には、メッシュコードを接頭辞にした .gml 形式のファイルが格納(場合によってはサブフォルダでさらに分類されている)。
  • メッシュコード
    • 基本的にこの区分で .gml ファイルが分割されている。
      • ファイル名の接頭辞がメッシュコード
    • 実際の対応区域は、ダウンロードしたデータに同梱の 10201_indexmap_op.pdf にて参照可能。
    • Plateau-Blender-Importer アドオンでは、読み込み時に Origin Japan Mesh Code Or Location オプションに該当のメッシュコードを指定することで、読み込むメッシュデータの基準点を調整してくれます。

    fig3 デフォルトの値を指定した場合、メッシュコード「53394611」(東京駅付近)で補完されます。このため読み込んだCityGMLデータによってはBlender上での原点から大きく離れた位置に読み込まれることがあるので注意。

  • LOD(Level Of Detail)
    • 3DCG系のソフトウェアにおいては、描画の詳細度を決める基準。
      • ある対象物が遠くにある場合、(省いても画面上での見た目が大きく変わらないので)細部の描画を省くことで処理を軽くすることができる。
    • CityGMLの仕様でレベルごとの要件が策定されている。
      • 床面の外形線(LOD0)・高さを持つ立体(LOD1)・「壁」「屋根」「床」等の詳細構成情報の有無(LOD2).. etc
    • どのLODまでデータが整備されているかによって、Blender で読み込んだ際の形状・テクスチャデータの有無などが異なる。
  • 利用する3Dソフトウェアにおける座標系の違い
    • 今回使用したアドオンでは、基本的に読み込み時にうまく変換してくれている。
    • 公式のSDKを使用してエクスポートしたデータを読み込む場合などには注意が必要。

より詳しくはこちらに記載されています。

https://www.mlit.go.jp/plateau/learning/tpc03-1/

小課題

現実世界に対応物が存在するオブジェクト・3Dデータをひとつ以上選択し、それを任意のルールに基づいて「囲う・覆う」構造物を設計・モデリングしなさい。

  • 選択するオブジェクト・3Dデータは、PLATAUEで取得できるものや、その他既存のサービスなどを利用して取得できるものを想定していますが、 Scaniverse のようなアプリを使って自分で用意しても構いません。
  • 一般的に存在が認識されていて、ある程度共通している形状をもつもの(例えば人工物であれば郵便ポストや、自然物であれば樹木など)、実存する彫像などの固有物であれば、その3Dモデルを対象としても良いです。
  • 単に「囲う・覆う」のではなく、何かしらのコンセプト(美的な観点・機能性・何かしらの思想の体現など)をもって構造物をデザインしてください。
  • 制作物は複数あって構いません。

提出物

  • Blender でモデリングする場合は .blend ファイルを提出してください。
    • 外部のモデルデータや、テクスチャーデータを使用する場合は、FileExternal DataPack Resources を実行して必要なデータを忘れずに結合しておくこと。
    • 前述の条件をクリアしていれば、必ずしも Geometry Nodes を使う必要はありません。
  • Blender 以外でモデリングしても構いません。ただし、その場合は制作物として .obj / .fbx / .gltf (.glb) いずれかのフォーマットでエクスポートし Blender で正しくインポートできることを確認した上で、少なくとも一つ以上を提出してください。

提出先

https://www.dropbox.com/request/AphBeIzW46Kvn1OcCyM1

  • 提出するファイル名には 学籍番号_氏名 をつけてください。複数ある場合はフォルダやzipファイルなどにまとめ、フォルダもしくはzipファイルに前述の名前をつけてください。
  • コンセプトの細かい説明が必要な場合や、提出物が何かしらの操作を必要とする場合などは別途ドキュメントをPDF等で用意し、併せて提出してください。
  • 提出期限は次回講義がある 6/10の15時 次々回講義がある 6/17の15時 までとします。